[英]Hide Textbox Field and Label associated with it
这可能是一个毫无意义的问题,但我认为这对我们很多人都有用。
在这种情况下,我希望能够一次性隐藏文本框及其标签,而无需选择两个元素并单独隐藏它们。
<label for="a">some text:</label>
<input type="text" class="text" id="a" />
那么,对于上面的情况,是否可以使用简单的jQuery命令将它们隐藏在一起?
你可以做到这一点
$('label[for=a], input#a').hide();
http://jsfiddle.net/jasongennaro/dYFMU/
[ ]
选择attribute
。 在这种情况下,我们的目标是一for
,等于属性a
。
与此同时,我们使用,
进行另一选择中, input
与id=a
。
编辑
此外,如果您需要为多个labels
和inputs
执行此操作,您可以将label
和id
放在数组中,如下所示:
<label for="a">some text:</label>
<input type="text" class="text" id="a" />
<br />
<label for="b">some text:</label>
<input type="text" class="text" id="b" />
<br />
<label for="c">some text:</label>
<input type="text" class="text" id="c" />
JS
var a = ['a','b','c'];
for(var i=0; i<a.length; i++){
$('label[for=' + a[i] + '], input#' + a[i]).hide();
}
如果要重用隐藏,可以创建类似于以下的函数:
function hideTandem(id){
$('#' + id + ', label[for=' + id + ']').hide();
}
并通过提供输入的id来调用它
hideTandem('a');
最简单的方法可能是将它们包装在div
并隐藏它。
<div id="hidethis">
<label for="a">some text:</label>
<input type="text" class="text" id="a" />
<div>
$("#hidethis).hide();
找到您想要的输入,然后您可以使用找到它的ID
var myInputBoxID = $(some selector).attr("id");
然后,您可以使用以下语法来引用标签以捕获属性的标签:
$("label[for=' + myInputBoxID + ']").hide();
您可以很好地嵌套事物,因此您不需要将任何内容存储为变量,而是在输入框选择器的所有结果上运行“for each”。 但无论如何关键是找到ID然后用它来找到带有标签的标签[for = ...]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.