使用JQuery获取具有特定值属性的输入值

时间:2014-08-26 16:23:03

标签: jquery input element attr

我想使用JQuery获取具有特定值属性的输入值。

当我尝试下面的代码时,我得到属性本身的值而不是元素的值:

$(".itemSizeQty [sizeId='226']").val();

2 个答案:

答案 0 :(得分:3)

正确的语法如下:

$(".itemSizeQty[sizeId='226']").val()

删除类和自定义属性之间的空格。

fiddle

答案 1 :(得分:3)

我建议:

$('.itemSizeQty[sizeId="226"]').val();

JS Fiddle demo

原始选择器中的空格暗示属性sizeId等于226的元素是类.itemSizeQty元素的后代。这可能是正确的,但如果没有HTML,就无法说出来。

此外,因为此选择器可以选择多个元素,所以您只能获得由选择器(JS Fiddle demo匹配的第一个元素的值,而不是所有元素(应该不止一个。)

顺便说一句,虽然HTML 4(和5)容忍自定义属性,但它们无效;您可能应该使用自定义data-*属性,而这些属性将在HTML 5下验证(尽管它们在HTML 4下仍然无效);这会给:

$('.itemSizeQty[data-sizeId="226"]').val();

JS Fiddle demo

如果您希望使用data-sizeId="226"获取所有值的数组,则可以使用map()get()

$('.itemSizeQty[data-sizeId="226"]').map(function(){
    return this.value;
}).get();

JS Fiddle demo

参考文献: