我正在尝试使用getElementsByTagName(“a”)方法获取特定标记下的所有元素。
但是,我不想要每个锚标签。我如何缩小它以便我只选择“someListClass”名称的ul标签下的所有锚标签?
<ul class="someListClass"> <li><a href... /></li>... </ul>
我知道在jQuery中你可以选择$(“。someListClass a”)。
我如何使用jQuery 没有 ?
答案 0 :(得分:12)
给你的ul一个id,然后使用
<ul id="ulid" class="someListClass"> <li><a href... /></li>... </ul>
document.getElementById ( "ulid" ).getElementsByTagName ( "a" );
elements = element.getElementsByTagName(tagName);
元素是找到的实时NodeList 元素按它们出现的顺序排列 子树。
元素是来自哪里的元素 搜索应该开始。请注意 这个元素的后代是 包含在搜索中,但不是 元素本身。
tagName 是要查看的限定名称 对于。特殊字符串“*”表示 所有元素。为了兼容性 应该使用XHTML,小写。
答案 1 :(得分:2)
你可以使用
element.getElementsByTagName(tagName)
其中element是UL项目...所以抓住UL项目然后搜索它。类似的东西:
<ul class="someListClass" id="myList"> <li><a href... /></li>... </ul>
var theList = document.getElementById('myList');
var listItems = theList.getElementsByTagName('li');
答案 2 :(得分:1)
你想要getElementsByClassName http://www.quirksmode.org/blog/archives/2008/05/getelementsbycl.html
links = document.getElementsByClassName("someListClass")[0].getElementsByTagName("a")
答案 3 :(得分:0)
如果没有框架,除了手动遍历每个元素并迭代其父级之外,我无法想到其他方式。如果其中一个具有类“somelistClass”,则将其添加到堆栈中。否则,不是。
如果你正在寻找单个元素的孩子,那么凤凰的方法就是你的选择。