我需要改变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>
我需要改变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>
$("label[for='user_login']").text("New text");
我看到,有点不同,比如:
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);
仅替换 textnode :
var newText = 'some text',
elm = $('label[for="user_login"]').children();
$('label[for="user_login"]').html(newText).append(elm);
那么试试这个:
var newText = 'some text';
$('label[for="user_login"]').contents().filter(function() { return this.nodeType == 3; }).first().replaceWith(newText);
不过,我不保证它的性能:),否则它应该这样做。
用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");
会有一个很好的解决方案,因为在 HTML 中您无法选择和处理文本。您只能影响周围的标签。
你现在有一些可能性。