thay thế anchor text bằng jquery


86

tôi muốn thay thế văn bản của một liên kết html:

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

bây giờ tôi muốn thay thế văn bản 'nhấp để về nhà'

tôi đã thử cái này:

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

nhưng tất cả đều cho tôi null hoặc một chuỗi rỗng

Câu trả lời:


141

Thử

$("#link1").text()

để truy cập văn bản bên trong phần tử của bạn. Dấu # cho biết bạn đang tìm kiếm theo id. Bạn không tìm kiếm phần tử con, vì vậy bạn không cần phần tử con (). Thay vào đó, bạn muốn truy cập văn bản bên trong phần tử mà hàm jQuery của bạn trả về.


1
Cảm ơn. Cảm thấy nhẹ nhõm vì tôi đã có câu trả lời, và rất ngu ngốc ... vì đã thử tất cả các câu lệnh khác nhau nhưng quên ký hiệu # ....
Michel

62

Để tham chiếu một phần tử theo id, bạn cần sử dụng # .

Thử:

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

Để thay thế nó, bạn có thể sử dụng:

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

Các .html()chức năng sẽ làm việc trong trường hợp này quá.


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

Các .text()phương pháp giảm văn bản mà bạn vượt qua nó vào nội dung phần tử. Không giống như sử dụng .html(), .text()mặc nhiên bỏ qua bất kỳ nhúng HTML đánh dấu, vì vậy nếu bạn cần phải nhúng một số nội tuyến <span>, <i>hoặc bất cứ điều gì các yếu tố tương tự khác, sử dụng .html()để thay thế.


4

Hãy thử điều này, trong trường hợp id

$("#YourId").text('Your text');

HOẶC điều này, trong trường hợp của lớp

$(".YourClassName").text('Your text');

-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());
    });
}
  • Mã đầu tiên tìm một tiêu đề thay thế t.html(t.html()
  • Mã thứ hai một văn bản thay thế t.children(":first")

Mẫu vật <a title="alpc" href="#">alpc</a>


1
Mặc dù mã trong câu trả lời của bạn có thể hoạt động, nhưng bạn nên cố gắng tạo ra một câu trả lời xuất sắc giải thích tại sao và cách nó hoạt động.
Ian Stapleton Cordasco
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.