【问题标题】:jquery: .attr() fails for child elementjquery:.attr() 对子元素失败
【发布时间】:2012-10-13 09:27:30
【问题描述】:

看着这个我快疯了。我需要改变一个元素的属性,这是我之前做过很多次的事情。但它失败了。现在我什至无法让 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 的类。

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

我觉得应该说:照片

【问题讨论】:

  • 查看控制台的错误信息。

标签: jquery jquery-attributes


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    $(c).attr('class');
    

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2011-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-20
        • 1970-01-01
        相关资源
        最近更新 更多