我正在使用.each()
迭代输入元素,并希望得到每个输入元素的class
。
$("input").each(function(index,element){
// Here I want to access class value of current input ie. element here (I guess)
});
例如
HTML
<input name="name1" class="class1" value="input1">
<input name="name2" class="class2" value="input2">
我尝试在.each
中关注选择器,但返回undefined
1. alert($('this').attr['class']);
2. alert($(this).attr['class']);
3. alert(element.class); // I can access name using element.name
4. alert($(element).attr['class']);
Jsfiddle:http://jsfiddle.net/kGjr2/
如何在input
内访问相应的.each()
及其属性?
谢谢!
真的很惊讶于答案的数量和质量以及在很短的时间内。只是想知道我应该接受哪个答案。谢谢大家。
答案 0 :(得分:5)
只需使用括号而不是方括号......您正在调用函数:
$("input").each(function(index,element){
alert($(this).attr('class'));
});
您还可以按类选择元素:
$('.class1')...//do something to only the elements with the `class1` class
以下是JSFiddle的更新版本:http://jsfiddle.net/kGjr2/1/
您收到undefined
警告的原因是因为方括号用于访问对象/数组的属性。但是,由于您在函数上使用方括号,因此您将找不到与class
匹配的任何属性名称。
答案 1 :(得分:2)
元素的类存储在className
属性中,因此请使用this.className
或element.className
。
答案 2 :(得分:1)
你很亲密。
$(this).attr("class");