访问jquery.each中的元素id属性值

时间:2015-12-17 14:40:21

标签: javascript jquery

我选择了html元素

var elements = $('*[my-elem="false"]');

因为每个元素都有一个属性id,我希望在迭代中得到一些值来获取当前迭代元素的id,所以我试过

$.each(elements, function(index, item){
    var itemId = item.attr("id").val();        
});

但我收到了以下错误

TypeError: item.attr is not a function

7 个答案:

答案 0 :(得分:7)

试试console.log(item)。你应该看到它是一个普通的HTML元素 - 而不是一个jQuery对象。

请注意,.val()专门指代元素的value属性。

考虑到这两点,如果您的目标是获取ID,则可以使用item.idthis.id$(item).attr("id")

答案 1 :(得分:1)

.attr是一个jQuery方法,因此您需要使用您的元素,就像它是一个jQuery选择器一样。另外,.val您不需要.attr('id'),所以这应该有效

var itemId = $(item).attr("id");

答案 2 :(得分:1)

就像

一样简单
var itemId = item.id;

答案 3 :(得分:0)

item是一个DOM元素,attr是一个jQuery函数,因此您只需将其包装在jQuery表示法var itemId = $(item).attr('id').val();

答案 4 :(得分:0)

在循环DOM元素时,您使用的是每个的错误版本。使用这个。 (https://api.jquery.com/each/

val stream = new FileInputStream(file)
val json = try {  Json.parse(stream) } finally { stream.close() }

答案 5 :(得分:0)

尝试

var elements = $('selector');
elements.each(function() {
    alert($(this).attr('id'));
});

答案 6 :(得分:0)

var itemId = this.id; 

也可以使用