您好我正在将一个脚本从jQuery重写为纯JS,我不知道我怎么能写这个。我想获取元素'class-basket'中的元素属性'id'przecenajs'我知道getElementsByClassName返回元素的对象,这可能是我收到错误的原因: document.getElementsByClassName(...)。getElementById不是函数 但我不是那么多,所以我可能错了
quiz(5):
is 5 > 1? yes
quiz(2):
is 2 > 1? yes
quiz(1):
is 1 > 1? no
print *
quiz(1):
is 1 > 1? no
print *
print *
quiz(2):
is 2 > 1? yes
quiz(1):
is 1 > 1? no
print *
quiz(1):
is 1 > 1? no
print *
print *
print *
答案 0 :(得分:2)
因为getElementsByClassName
会返回HTMLCollection
个对象。
您可能想要使用querySelector
功能:
document.querySelector('.form-basket #przecenajs')
console.log(document.querySelector('.form-basket #przecenajs').getAttribute("data-procent"));
<div class='form-basket'>
<div id='przecenajs' data-procent="Hello!">
</div>
</div>
或
document.getElementById('przecenajs')
console.log(document.getElementById('przecenajs').getAttribute("data-procent"));
<div class='form-basket'>
<div id='przecenajs' data-procent="Hello!">
</div>
</div>
答案 1 :(得分:1)
您不必先选择换页。由于ID只能在文档中使用一次,因此您可以简单地按ID进行选择:
document.getElementById("przecenajs").getAttribute("data-procent");
答案 2 :(得分:0)
我假设您正在搜索的标签不止一个,因为如果您不能使用document.getElementById()
,那么我认为这些线路可以完成您想要的工作,您必须手动创建列表具有复制jquery行为的所有属性:
var priceList = [];
document.querySelectorAll(".form-basket #przecenajs").forEach( (element) =>{
priceList.push(element.getAttribute("data-procent"));
});