アンカーテキストを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());

しかし、それはすべて私にnullまたは空の文字列を与えます

回答:


141

試してみてください

$("#link1").text()

要素内のテキストにアクセスします。#は、IDで検索していることを示します。子要素を探していないので、children()は必要ありません。代わりに、jQuery関数が返す要素内のテキストにアクセスする必要があります。


1
ありがとう。私が答えを持っていることに安心し、非常に愚かです...すべての異なるステートメントを試したが、#記号を忘れてしまった....
ミシェル

62

IDで要素を参照するには、#修飾子を使用する必要があります。

試してみてください:

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()
  • テキスト置換の2番目のコード t.children(":first")

サンプル <a title="alpc" href="#">alpc</a>


1
回答のコードは機能する可能性がありますが、その理由と方法を説明する優れた回答を作成するように努める必要があります。
イアン・ステープルトン・コルダスコ2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.