隐藏文本但不在标签jquery中输入

我有一个标签和输入从我们正在使用的购物车输出。 我不想破解购物车的核心来改变它的输出方式。 所以代码就是标签里面的输入:

我试图在标签中隐藏“是”这个词,但我似乎无法选择它。 它不是自标签以来的输入兄弟。 如果我选择父输入,它仍然使输入的整个标签消失。 我接下来尝试了,它不会选择它,因为dom-wise文本不是真的下一个..我不能使用孤儿,因为它不是孤儿是标签的一部分。 我错过了什么? 谢谢!

仅使用复选框替换标签内容。

 var l = $('label[for=FormField_29_0]'); l.html(l.find('input')); 

使用jquery,您可以从标签中删除输入元素,将其添加到标签(将其重新添加),然后隐藏标签。

http://docs.jquery.com/Manipulation/remove#expr

 var $formfield = $('#FormField_29'); $formfield.find('label').html($formfield.find('label input')); 

我认为您的问题与您的输入嵌套在label标签内的事实有关。 使用下面改变的html,你应该能够用任意数量的选择器改变标签的文本,例如$('.FormField label').text('');

  

这有效,但可能有更好的方法:

 var $label = $("label[for='FormField_29_0']"); var $checkbox = $label.find("input:checkbox"); $label.html($checkbox); 

编辑

由于你要删除文本,我想你可以只用复选框替换标签:

 var $label = $("label[for='FormField_29_0']"); $label.replaceWith($label.find("input:checkbox")); 

编辑

或者,如果你想保留文本,但只是隐藏它(再次,我确信有更好的方法):

 var $label = $("label[for='FormField_29_0']"); var $text = $('' + $label.text() + '').hide(); var $checkbox = $label.find("input:checkbox"); $label.empty().append($checkbox).append($text);