2016-04-30 20 views
-2

可以说您有两个具有相同ID的html元素,并且需要使用attr来更改第二个元素的属性()jquery方法。 是否有可能这样做,因为我不断收到一个错误,指出attr方法不是函数。 请注意,我必须使用元素ID。是否可以从数组中选择一个元素并使用attr()如果您的元素具有类似的选择器

<div id="div_el">ele_one</div> 
<div id="div_el">ele_two</div> 

<script> 

$('#div_el'); // returns an array of all the DOM elements with div_el 
var $el_two = $('#div_el').find(1); 

$el_one.attr('style', 'background-color: green;'); 


</script> 
+2

不能有相同的多个元素'id' –

回答

2

正如下文所述,您无法选择多个ID元素。该ID应该是唯一的。在紧要关头,但是,你也许可以做到这一点:

var $el_one = $('div#div_el').eq(1) 

它选择在DIV第一,然后是ID,并通过指数(EG)过滤。小提琴here.

+0

感谢,正是我一直在寻找。我不确定是否有方法将dom对象元素解析为对象,并仍然能够引用我们存储的元素。 –

0

如果您使用该类,它会更好,在这种情况下,它会正常工作!

  • 还有一个错误,用你的变量名! $ el_one和$ el_two 例子:

<div class="div_el">ele_one</div> 
<div class="div_el">ele_two</div> 
<script> 
// returns the second div in the DOM elements with class div_el 
var $el_two =$('.div_el:eq(0)'); 
// the browser will modifie the stle property by himself ! 
$el_one.css('background-color', 'green'); 

+0

这种方法也可以正常工作。我试了一下[fiddler](https://jsfiddle.net/kevinkid/vtjdkp6q/)。 再次感谢 –

相关问题