如何在Jquery中访问它

时间:2012-02-29 11:58:07

标签: jquery jquery-selectors each

我正在使用.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()及其属性?

谢谢!


真的很惊讶于答案的数量和质量以及在很短的时间内。只是想知道我应该接受哪个答案。谢谢大家。

3 个答案:

答案 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.classNameelement.className

答案 2 :(得分:1)

你很亲密。

$(this).attr("class");