如何选择jquery中存在自定义属性的具有多个条件的对象



我正在尝试初始化html中隐藏输入中的值。所以我为要初始化的输入添加了属性。如何选择这些对象?

<input type="hidden" class="hidden" name="a" value="" init />
<input type="hidden" class="hidden" name="b" value="" />
$("input:hidden[init]").val(""); // this is not working, but you might know what I want.

[ADD]

我在Internet Explorer 中使用1.4 jquery

因为init属性,所以要选择具有该属性的元素,您需要将其放在:hiddenjQuery psuedo类之前,而不是放在:之后

$("input[init]:hidden").val("foo");
console.log(
$("input[init]:hidden").val()
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="hidden" class="hidden" name="a" value="" init />
<input type="hidden" class="hidden" name="b" value="" />

也就是说,当您想向HTML添加自定义信息时,最好使用data-属性,而不是随机的非标准属性:

$("input[data-init]:hidden").val("foo");
console.log(
$("input[data-init]:hidden").val()
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="hidden" class="hidden" name="a" value="" data-init />
<input type="hidden" class="hidden" name="b" value="" data-init/>

对于jQuery的旧版本,:hidden可能无法按预期工作——请使用标准选择器字符串:

input[data-init][type='hidden']

$("input[data-init][type='hidden']").val("foo");
console.log(
$("input[data-init][type='hidden']").val()
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<input type="hidden" class="hidden" name="a" value="" data-init />
<input type="hidden" class="hidden" name="b" value="" data-init/>

使用此$("input[type='hidden'][init]");

console.log("control found with init attribute : " + $("input[type='hidden'][init]").length);
console.log("control found without init attribute : " + $("input[type='hidden']:not([init])").length);
console.log("All Hiddens : " + $("input[type='hidden']").length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<input type="hidden" class="hidden" name="a" value="" init />
<input type="hidden" class="hidden" name="b" value="" />

我自己回答。

我写这个代码。

<input type="hidden" class="hidden" name="a" value="" init />
<input type="hidden" class="hidden" name="b" value="" />

我检查了IE,这个像一样转换

<input type="hidden" class="hidden" name="a" value="" init="" />
<input type="hidden" class="hidden" name="b" value="" />

所以,我确实喜欢这个。

$("input:hidden[init=]").val("");

这起到了作用。

相关内容

  • 没有找到相关文章

最新更新