我想在页面加载时使用jQuery在下面的代码中隐藏文本“Demo”
<label>
<span class="demo_logo"></span>
<input type="radio" name="paymentmethod" >
Demo
</label>
答案 0 :(得分:1)
您无法隐藏文本节点,但可以将其删除,如
$('label').contents().last().remove();
如果你必须超过1个元素
$('label').each(function(){
if(this.lastChild.nodeType == 3){
this.removeChild(this.lastChild)
}
})
如果你只想隐藏它而不是删除,那么用另一个元素包装它并隐藏该元素
$('label').each(function(){
if(this.lastChild.nodeType == 3){
$(this.lastChild).wrap('<span />').parent().hide()
}
})
答案 1 :(得分:0)
您可以更改HTML并改为执行此操作:
<span class='demo_logo'></span>
<input type='radio' id='paymentmethod' name='paymentmethod'>
<label for="paymentmethod">Demo</label>
然后使用jQuery并执行以下操作:
$('label[for=paymentmethod]').hide();
答案 2 :(得分:0)
找到所有包含“ nabin”的标签并将其隐藏。 查找所有包含“ john”的标签并在其下划线。
$("label:contains('nabin')").css("display", "none");
$("label:contains('john')").css("text-decoration", "underline");
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hide label</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<label>nabin</label>
<br>
<label>john</label>
</body>
</html>