0

看着这个我快疯了。我需要改变一个元素的属性,这是我之前做过很多次的事情。但它失败了。现在我什至无法让 jquery 向我展示它所具有的属性。它与 find() 返回的内容有关吗?

var c = new_photo_div.find('[class = photo]')[0];
alert(c);
alert(new_photo_div.attr('class'));
alert(c.attr('class'));

第一个警报正确识别元​​素:Object HTMLImageElement

第二个警报正确地给了我 new_photo_div 的类。

第三个警报失败。没有警报。

我认为它应该说:照片

4

3 回答 3

2

这是因为c不是 jQuery 对象。删除[0]以将 jQuery 对象分配给c.

于 2012-10-13T09:32:50.773 回答
1

您使用的是new_photo_div.find('[class = photo]')[0]Dom 元素而不是 jquery 对象。尝试这个

$(c).attr('class');
于 2012-10-13T09:32:26.667 回答
0

在您的浏览器控制台中,会出现错误,

反正attr是jQuery的一个方法,不要做[0],

如果您使用的是较新的 jquery 库,您也可以使用 .prop 而不是 .attr。

于 2012-10-13T09:41:09.010 回答