首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >相当于jquery函数的普通js ( attributeName,.attr)

相当于jquery函数的普通js ( attributeName,.attr)
EN

Stack Overflow用户
提问于 2019-03-05 06:08:24
回答 1查看 3.3K关注 0票数 1

我注意到jQuery .attr()有一个变体,它允许您为函数设置属性名称:请参阅here

我正在尝试寻找与此对应的普通js,但请注意,setAttribute()函数似乎只允许您将属性值设置为字符串:请参阅here

更具体地说,我正在尝试将jQuery中的this article代码片段转换为普通的js:

$(function(){
  $('.stroke-double, .stroke-single').attr('title', function(){
    return $(this).html();
  });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-05 06:14:56

带有函数的jQuery的.attr对查询结果中的每个元素进行操作。等效项如下所示

function attrEquiv(selector, attr, setterFunction) {
  document.querySelectorAll(selector).forEach((el, i) => {
    el.setAttribute(attr, setterFunction.call(el, i, attr)) // bind `el` to `this`
  })
}

attrEquiv('.stroke-double, .stroke-single', 'title', function(index, attr) {
  return this.innerHTML
})

ES5版本

var elements = document.querySelectorAll(selector)
Array.prototype.forEach.call(elements, function(el, i) {
  el.setAttribute(attr, setterFunction.call(el, i, attr))
})
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54992319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档