我需要更改text to change
。如何用jQuery做到这一点?
<form name="loginform" id="loginform" action="" method="post">
<p>
<label for="user_login">text to change<br />
<input type="text" name="log" value="" /></label>
</p>
</form>
答案 0 :(得分:3)
$("label[for='user_login']").text("New text");
请参阅:Attribute Equals Selector [name="value"]
我看,有点不同,如:
var splitElem = "<br>";
var saveHtml = $("label[for='user_login']").html().split(splitElem)[1];
var newText = "New Text"
var newHtml = newText + splitElem + saveHtml;
$("label[for='user_login']").html(newHtml);
答案 1 :(得分:2)
仅替换textnode:
var newText = 'some text',
elm = $('label[for="user_login"]').children();
$('label[for="user_login"]').html(newText).append(elm);
答案 2 :(得分:2)
然后尝试一下:
var newText = 'some text';
$('label[for="user_login"]').contents().filter(function() { return this.nodeType == 3; }).first().replaceWith(newText);
我对此表现不做任何保证:)但否则应该这样做。
答案 3 :(得分:0)
使用span
标记包裹文字。
<label for="user_login"><span>text to change<span><br />
<input type="text" name="log" value="" /></label>
$("label[for=user_login] > span").text("replaced text");
答案 4 :(得分:0)
有一个很好的解决方案,因为在HTML中你不能选择和接近文本。您只能影响周围的标签。
现在有一些可能性。