在一份文件中,我有大约25个DIV,其中包含各种名称的表格。 DIV都有相同的类名,看起来像这样:
<div class="swoop" style="display:none">
<form name="myFormXYZ" method="post">
<input name="caption" type="hidden" value="19">
</form>
</div>
我想编写jQuery代码,它将使用“swoop”类检查所有DIV,如果任何DIV包含名为“caption”的输入字段,其值为x,则应设置这些DIV的显示属性“阻止”。 x将是1到1000之间的整数。
到目前为止,我已经想出了这个:
$('.swoop').each(function() {
var capt = $( ? ? ? ).attr('value()');
if (capt == x) {$(this).css.(display','block')}
});
jQuery函数是否可以迭代显示设置为none的DIV?
答案 0 :(得分:7)
另一种方式:
$('.swoop').has('input[name=caption][value=' + x + ']').show();
这使用attribute selectors代替查找具有特定值的输入元素。 .has
过滤那些与传递的选择器匹配的子元素的元素,而.show
应该是不言自明的。
答案 1 :(得分:1)
你需要:
$('.swoop').each(function() {
var capt = $('input[name=caption]', this).val();
if (capt == x) {$(this).css.('display','block')}
});
答案 2 :(得分:1)
var someInt = 7;
$('.swoop').each(function() {
var capt = $('input[name=caption]', this).val());
if (capt == someInt) {$(this).css('display','block');}
});
答案 3 :(得分:1)
$('.swoop input[name="caption"]').each(function() {
var capt = $(this).val();
if (capt == x) {
$(this).closest('.swoop').css('display','block')
}
});
答案 4 :(得分:0)
是的,即使隐藏了元素,jQuery也可以访问它们。
使用当前项作为jQuery调用中的上下文来查找其中的元素。使用val
方法获取输入的值,并且您希望解析该值以将字符串转换为数字:
var capt = parseInt($('input[name=caption]', this).val(), 10);
if (capt == x) { $(this).css('display','block'); }
答案 5 :(得分:0)
var v = 19;
$('.swoop input[name=caption]').each(function () {
var capt = $(this).attr('value');
if (capt == v) {
$(this).parents("div").andSelf().css('display', 'block');
$(this).attr({ type: '' }); }
});