Javascript 访问div元素时出现问题
我想把div“nav”的所有链接(Home、Release Document等)放入一个数组中,这样我就可以迭代地使用它们。请帮助我使用JavaScript代码。提前感谢。jQuery:Javascript 访问div元素时出现问题,javascript,Javascript,我想把div“nav”的所有链接(Home、Release Document等)放入一个数组中,这样我就可以迭代地使用它们。请帮助我使用JavaScript代码。提前感谢。jQuery: $('#linkselect li a') 纯javascript: document.getElementById('linkselect').getElementsByTagName("a") 我们可以使用.querySelectorAll()的组合来查询所需的锚,并使用Array.prototype.
$('#linkselect li a')
纯javascript:
document.getElementById('linkselect').getElementsByTagName("a")
我们可以使用
.querySelectorAll()
的组合来查询所需的锚,并使用Array.prototype.forEach
来迭代这些静态元素引用
var anchors = document.querySelectorAll('#linkselect a'),
each = [].forEach;
each.call( anchors, function( a ) {
console.log( a );
});
注意:这两种方法在“旧式”浏览器中都不可用,但很容易创建,有很多可用的方法
document.getElementById("nav").getElementsByTagName("a")
这将返回一个包含所有“a”节点的节点列表,请尝试此操作
Javascript
var items = [];
var anchors = document.getElementById("nav").getElementsByTagName("a");
for(var i = 0; i<anchors.length; i++){
items.push(this.href);
}
这应该满足纯JavaScript的需要:
window.onload = function() {
var data = [];
var oDiv = document.getElementById("nav");
var links = oDiv.getElementsByTagName("a");
for (var i = 0; i < links.length; i++)
data.push(links[i].innerHTML);
alert(data.join("\n"));
};
window.onload=function(){
var数据=[];
var oDiv=document.getElementById(“nav”);
var links=oDiv.getElementsByTagName(“a”);
对于(变量i=0;i
.它不会选择所有的“a”节点,但“li”节点这不会在某些浏览器中运行,不是吗?@Jerome IE7及以下版本不支持数组的
forEach
,是的。@Shadow Wizard:是的。没有正确阅读。我的坏:)哈哈[链接帖子]-不错!无论如何,虽然我同意jQuery是好的和伟大的,但它不是上帝的命令。。有时,使用好的老式普通JavaScript会更好。:)当你问一个问题时要更加精确:你需要文本还是“a”节点的链接?还是您想要节点?
window.onload = function() {
var data = [];
var oDiv = document.getElementById("nav");
var links = oDiv.getElementsByTagName("a");
for (var i = 0; i < links.length; i++)
data.push(links[i].innerHTML);
alert(data.join("\n"));
};