我目前正在尝试找出一种方法来获取元素的ID,这取决于它的类是否包含一些东西。我不确定是否有比我目前更好的方法来做到这一点,但环顾四周没有什么完全适合我的需要。我目前拥有的代码是,我在这里查找一个div元素,它的类包含字符串“one”,但不限于此。当前只有一个元素包含此字符串,但警报提供了[Object NodeList](我很可能把它弄得过于复杂了):
$idToMove = document.querySelectorAll('div[class^="one"]');
alert($idToMove);
4条答案
按热度按时间cxfofazt1#
document.querySelectorAll()
返回一个节点列表(有点像数组),如果你确定只会有一个节点列表,你有几个选择。1)请改用
.querySelector
:2)访问返回列表中的第一个元素:
确保
.querySelector
的返回检查为空,.querySelectorAll
的返回检查为长。还要注意的是,我使用的是
~=
而不是^=
,你可以从on the MDN中看到所有等式运算符之间的区别,但是对于这两个:[attr~=value]表示一个属性名为attr的元素,其值是一个用空格分隔的单词列表,其中一个单词正好是“value”。
[attr^=value]表示属性名为attr且第一个值以“value”为前缀的元素。
ldfqzlk82#
首先从DOM获取元素,然后从该元素获取id属性:
1-如果你只需要第一个元素,那么就像这样使用querySelector:
2-如果你需要所有拥有这个类的元素,那么就像这样使用querySelectorAll:
tkclm6bt3#
我认为带“*”的情况更多
5jvtdoz24#
我试过了,效果非常好