Javascript Can';在DOM中找不到nextElement/nextElementSibling。是因为它';什么是img?
我很难用一些JavaScript代码在DOM中找到下一个元素。 我想更改img src,但是当我尝试访问img元素时,我得到了“null”,即使它在那里 谢谢 P 我尝试过nextElement和nextElementSibling,但没有效果Javascript Can';在DOM中找不到nextElement/nextElementSibling。是因为它';什么是img?,javascript,html,Javascript,Html,我很难用一些JavaScript代码在DOM中找到下一个元素。 我想更改img src,但是当我尝试访问img元素时,我得到了“null”,即使它在那里 谢谢 P 我尝试过nextElement和nextElementSibling,但没有效果 var node1=document.getElementById('ctl00_ctl39_g_1398ff2c_c26e_44d8_b382_346b589f7224_tvLinksn0'); console.log('1…'+node1.id);
var node1=document.getElementById('ctl00_ctl39_g_1398ff2c_c26e_44d8_b382_346b589f7224_tvLinksn0');
console.log('1…'+node1.id);
var node1img=document.getElementById(node1.id).href;
console.log('3…'+node1img);
log('3…'+document.getElementById(node1.id).nextElementSibling)代码>
以属性为例:
var node1=document.getElementById('ctl00_ctl39_g_1398ff2c_c26e_44d8_b382_346b589f7224_tvLinksn0');
console.log('1…'+node1.id);
var node1img=node1.href;
console.log('3…'+node1img);
console.log('3…'+node1.getElementsByTagName(“img”)[0].src)代码>
img
不是可通过nextElement
或nextElementSibling
访问的同级元素,而是可通过访问的a
的子元素。children
所以最后的代码是
var node1=document.getElementById('ctl00_ctl39_g_1398ff2c_c26e_44d8_b382_346b589f7224_tvLinksn0');
console.log('1…'+node1.id);
var node1img=node1.children[0];//img元素的第一个子元素
这是无效的markup@SyedMohamedAladeen在nextSibling、nextElementSibling
的情况下,更改标记的结构可能非常“有害”。文本节点可能会更改所有内容。。。请ID可以最小化,alt属性破坏HTML,样式可以删除。我会使用.getElementsByTagName(“img”)[0]
而不是.children[0]
,因为我们想确保它实际上是一个图像。
node1.getElementsByTagName("img")[0];