заменить текст привязки на 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()

для доступа к тексту внутри вашего элемента. # Означает, что вы ищете по идентификатору. Вы не ищете дочерний элемент, поэтому вам не нужны children (). Вместо этого вы хотите получить доступ к тексту внутри элемента, который возвращает функция jQuery.

Ларри Люстиг
источник
1
Спасибо. Я чувствую облегчение от того, что получил ответ, и это очень глупо ... из-за того, что перепробовал все разные утверждения, но забыл знак # ...
Мишель
62

Чтобы ссылаться на элемент по идентификатору, вам нужно использовать #квалификатор.

Пытаться:

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

Чтобы заменить его, вы можете использовать:

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

.html()Функция будет работать в этом случае.

зомбат
источник
18
$('#link1').text("Replacement text");

.text()Метод падает текст , передать его в содержание элемента. В отличие от использования .html(), .text()неявно игнорирует любой встроенный HTML разметки, так что если вам нужно встроить некоторые инлайн <span>, <i>или любые другие подобные элементы, используйте .html()вместо этого.

Заостренный
источник
4

Попробуйте это в случае идентификатора

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

ИЛИ это, в случае класса

$(".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());
    });
}
  • Первый код найти название заменить t.html(t.html()
  • Второй код заменить текст t.children(":first")

Образец <a title="alpc" href="#">alpc</a>

alpc
источник
1
Хотя код в вашем ответе может работать, вам следует постараться создать отличный ответ, объясняющий, почему и как он работает.
Ян Стэплтон Кордаско 08