我需要把单词“你好”包含属性跨度“数据什么”,即这个跨度:如何选择跨度谁具有特定属性
<span data-whatever="nomatterwhat"> </ span>
我需要这样做:
$ ("span[data-whatever]").html("hello");
请注意,上面这是与JQuery,但我需要知道如何做与纯JavaScript的相同。
我需要把单词“你好”包含属性跨度“数据什么”,即这个跨度:如何选择跨度谁具有特定属性
<span data-whatever="nomatterwhat"> </ span>
我需要这样做:
$ ("span[data-whatever]").html("hello");
请注意,上面这是与JQuery,但我需要知道如何做与纯JavaScript的相同。
您可以使用querySelector
document.querySelector('span[data-whatever]').innerHTML = "You text";
这根本不起作用。 – 2017-09-03 05:28:34
它适用于我的情况,非常感谢 –
@torazaburo OP已接受它。你能否告诉我这个答案有什么问题,以便我可以改进它。我应该循环查询任何'querySelectorAll'返回并设置innerHTML或使用'querySelector'? – adiga
试试这个:
var el = document.querySelectorAll('span');
el.forEach(function(item){
if(item.hasAttribute('data-whatever')){
item.innerHTML = 'Hello';
}
})
我更新了代码来修复它。 – adda82
这不太可能适用于所有浏览器,因为'querySelectorAll'的结果是'NodeList',它可能没有'forEach'方法。在任何情况下,为什么不只是使用属性选择器来开始? – 2017-09-03 05:29:20
使用DOM API。 https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector –
尝试使用“CSS属性选择器”的Google搜索。 – 2017-09-03 05:16:13
我不同意@torazaburo,你连接的这个问题不是这个问题的重复。这是CSS,如果你知道答案和我在这里需要的关系是什么,那么对你有好处,但我不知道如何解决我与你链接的帖子的问题。 –