使用jQuery隐藏标签中的文本

时间:2015-02-26 12:04:42

标签: jquery

我想在页面加载时使用jQuery在下面的代码中隐藏文本“Demo”

<label>
     <span class="demo_logo"></span>
     <input type="radio" name="paymentmethod" > 
     Demo
 </label>

3 个答案:

答案 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>
相关问题