如何使用jQuery消除<label>
标签之间的文本?
我需要将<input>
保留在<label>
内,但要摆脱“临床供应商”文本。
<label for="form">
<input type="checkbox" class="ar" name="b" value="Clinical Vendor" id="form">Clinical Vendor
</label>
我尝试过jQuery('label').text('');
,但这似乎也摆脱了input
标签。
编辑:每个人都使用节点提出了几乎相同的解决方案。瓷砖!谢谢大家!
答案 0 :(得分:2)
input
标签不能有任何子节点,因为它是empty element。
您需要定位与label
关联的文本并将其删除。
$('label')
.contents()
.filter(function() {
return this.nodeType == 3;
}).remove();
答案 1 :(得分:1)
我相信这可能对您有用:
private fun beginSearch(srsearch: String) {
disposable =
wikiApiServe.hitCountCheck("query", "json", "search", srsearch)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ result -> showResult(result.query.searchinfo.totalhits) },
{ error -> showError(error.message) }
)
}
答案 2 :(得分:0)
jQuery('label').contents().last()[0].textContent='';
答案 3 :(得分:0)
您可以将文本节点替换为空白节点:
function isTextNode() {
return (this.nodeType === 3);
}
$("label").contents().filter(isTextNode).replaceWith(
document.createTextNode("")
);