2009-10-26 80 views
73

錨文本我想更換一個HTML錨文本:替換使用jQuery

<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()); 

但是這一切都讓我空或空字符串

回答

113

嘗試

$("#link1").text() 

訪問您的元素中的文本。 #表示您正在通過ID進行搜索。你不是在尋找一個孩子元素,所以你不需要孩子()。相反,您想要訪問jQuery函數返回的元素內部的文本。

+1

謝謝。感到放心,我已經得到了答案,而且非常愚蠢......因爲嘗試所有不同的陳述,但忘記了# - 符號... – Michel 2009-10-27 07:55:13

53

要通過ID引用的元素,你需要使用#限定符。

嘗試:

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

來取代它,你可以使用:

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

.html()功能會在這種情況下工作了。

12
$('#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()
二代碼的文本替換噸。兒童(「:第一次」)

Sample < a title =「alpc」href =「#」> alpc

+0

雖然您的答案中的代碼可能有效,但您應該努力創造一個出色的答案解釋了爲什麼以及如何運作。 – 2014-08-08 02:18:01