我错过了jQuery remove()的东西。
我的<label>
包含我要删除的无关文本:
<label>
<span class="removeme">Horrible Text</span>
Nice Text
</label>
$("label").remove(".removeme").text()
结果仍然显示&#34;可怕的文字尼斯文字&#34; - 是什么赋予了? jsfiddle
答案 0 :(得分:1)
要执行此操作,您需要使用.find()
,.end()
$("div").html($("label").find(".removeme").remove().end().text());
label {display:none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>
<span class="removeme">Horrible Text</span>
Nice Text
</label>
<div>Result</div>
答案 1 :(得分:0)
remove()
会返回已删除的元素(如果有),因此text()
仍然可以正常工作,即使它不在DOM中。
答案 2 :(得分:0)
$("label").text('')
此代码将用空字符串替换标签文本,这意味着它将有效删除内部的所有文本。 .remove()
实际上删除了您指定的整个元素。如果您要做的只是清空文本,那么请使用我的建议。