jquery中this.id是什么意思

$("div").attr("id", function (arr) {
  return "div-id" + arr;
}).each(function () {
  $("span", this).html("(ID = '<b>" + this.id + "</b>')");
});

里面的this.id是获取对应id的属性值,但是为什么换了class就不行了。只有id才能这么写么?

阅读 5.8k
2 个回答

这里的this其实并不是jq对象,而是DOM节点对象,其上的id属性就是标签上的id,但是其classList属性才是class的伪数组。

补充:

clipboard.png
这个是this对象的部分截图,
其中classListclassName都是class属性相关的属性,
伪数组就是指那些具有length属性,或是按照数字下标进行存放数据,但是不具备数组方法的对象。

获取class用

this.className

因为 class 在 js 中是保留字

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进