如何选择具有特定类和特定元素类型的HTML文档中的所有元素?
我正在尝试title loggedin从HTML文档中选择所有类的锚点(然后在浏览器中打开它们).这些是与班级的parragraphs title.
它们是以下DOM树中的叶子:
+ body
+ div class='content'
+ div id='siteTable' class='sitetable linklisting'
+ div class='thing id-t3_xxxx xxx xxx link'
+ div class='entry unvoted'
+ p class='title'
+ a class='title loggedin '
Run Code Online (Sandbox Code Playgroud)
其中x表示可变内容.
(我希望在原始JavaScript中执行此操作,即不在jQuery中.)
试试这个:
var aElems = document.getElementsByTagName("a");
for (var i=0; i<aElems.length; ++i) {
var classesArr = aElems[i].className.split(/\s+/),
classesObj = {};
for (var j=0; j<classesArr.length; ++j) {
classesObj[classesArr[i]] = true;
}
if (classesObj.hasOwnProperty("title") && classesObj.hasOwnProperty("loggedin")) {
// action
}
}
Run Code Online (Sandbox Code Playgroud)
一些解释:
document.getElementsByTagName返回给定类型的元素数组(在本例中a)aElems[i].className.split)aElems[i].className.split)从技术上讲,这不是一类,而是两类:title和loggedin。您可以使用document.getElementsByClassName()它。
var elements = document.getElementsByClassName("title loggedin");
Run Code Online (Sandbox Code Playgroud)
您可以将两个类传递给该方法。
| 归档时间: |
|
| 查看次数: |
14544 次 |
| 最近记录: |