แทนที่ข้อความจุดยึดด้วย jquery


86

ฉันต้องการแทนที่ข้อความของจุดยึด html:

<a href="index.html" id="link1">Click to go home</a>

ตอนนี้ฉันต้องการแทนที่ข้อความ 'คลิกเพื่อกลับบ้าน'

ฉันได้ลองแล้ว:

alert($("link1").children(":first").val());
alert($("link1").children(":first").text());
alert($("link1").children(":first").html());

แต่ทั้งหมดนี้ทำให้ฉันเป็นโมฆะหรือสตริงว่างเปล่า

คำตอบ:


141

ลอง

$("#link1").text()

เพื่อเข้าถึงข้อความภายในองค์ประกอบของคุณ # แสดงว่าคุณกำลังค้นหาด้วยรหัส คุณไม่ได้มองหาองค์ประกอบลูกดังนั้นคุณไม่ต้องการลูก () แต่คุณต้องการเข้าถึงข้อความภายในองค์ประกอบฟังก์ชัน jQuery ของคุณจะส่งกลับ


1
ขอบคุณ. รู้สึกโล่งใจที่ได้คำตอบและโง่มาก ... ที่ลองใช้ข้อความต่างๆทั้งหมด แต่ลืม # - ลงชื่อ ....
มิเชล

62

ในการอ้างอิงองค์ประกอบตามรหัสคุณต้องใช้#qualifier

ลอง:

alert($("#link1").text());

ในการแทนที่คุณสามารถใช้:

$("#link1").text('New text');

.html()ฟังก์ชั่นจะทำงานในกรณีนี้มากเกินไป


18
$('#link1').text("Replacement text");

.text()วิธีการลดลงข้อความที่คุณผ่านมันลงในเนื้อหาขององค์ประกอบ ซึ่งแตกต่างจากการใช้.html(), .text()โดยปริยายละเว้นใด ๆ ฝัง HTML มาร์กอัปดังนั้นหากคุณต้องการฝังแบบอินไลน์บาง<span>, <i>หรืออะไรก็ตามที่องค์ประกอบอื่น ๆ ที่คล้ายกันใช้.html()แทน



-1
function liReplace(replacement) {
    $(".dropit-submenu li").each(function() {
        var t = $(this);
        t.html(t.html().replace(replacement, "*" + replacement + "*"));
        t.children(":first").html(t.children(":first").html().replace(replacement, "*" +` `replacement + "*"));
        t.children(":first").html(t.children(":first").html().replace(replacement + " ", ""));
        alert(t.children(":first").text());
    });
}
  • รหัสแรกค้นหาชื่อเรื่องแทนที่ t.html(t.html()
  • รหัสที่สองแทนที่ข้อความ t.children(":first")

ตัวอย่าง <a title="alpc" href="#">alpc</a>


1
แม้ว่ารหัสในคำตอบของคุณอาจใช้งานได้ แต่คุณควรพยายามสร้างคำตอบที่ดีเยี่ยมซึ่งจะอธิบายถึงสาเหตุและวิธีการทำงาน
Ian Stapleton Cordasco
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.