cari

Rumah  >  Soal Jawab  >  teks badan

javascript - jquery通过attr获取属性值为什么都是undefind?


这里的jQuery和$是等效的,
为什么通过attr改变标签的display不起作用,
jQuery(this).next('ul').attr("display")得到的是undefind。

 jQuery(document).ready(function($){
    jQuery("#cataloguelist").children("ul li:first").children("ul").attr('dispaly','block');


    jQuery(".grayp").on('click',function(){
      var tr=jQuery(this).next('ul').attr("display");
      if(tr=="none"){
        jQuery(this).next('ul').attr("display","block")
      }
      else{
        jQuery(this).next('ul').attr("display","none");
      }
    });
  });
迷茫迷茫2896 hari yang lalu534

membalas semua(4)saya akan balas

  • PHPz

    PHPz2017-04-10 15:31:44

    你是要通过JQuery来控制元素的显示和隐藏吗?attr是获取DOM的attribute,而display是属于样式中规则名,不属于attribute,所以会返回undefined

    可以利用css()方法实现,给一个参考的Demo:Demo

    HTML中,还需要区分attributeproperty:HTML中的attribute和property

    balas
    0
  • 迷茫

    迷茫2017-04-10 15:31:44

    看你的意思是想取CSS属性,应该用 css() 而不是 attr

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 15:31:44

    display 不是标签的style 属性么?

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-10 15:31:44

    用attr()应该是取到style属性

    balas
    0
  • Batalbalas