gpt4 book ai didi

javascript - previousSibling 不工作

转载 作者:数据小太阳 更新时间:2023-10-29 05:12:58 26 4
gpt4 key购买 nike

我想定位第一个<p>在 div 中选择第二个 <p>并使用 previousSibling属性(property),但它不工作。

<div id="par">
<p id="p1">test</p>
<p id="p2">test</p>
</div>


document.getElementById('p2').previousSibling.className = 'red';

编辑:

好的,它适用于除 IE8 以外的所有浏览器,但我希望它也适用于 IE8,我尝试了以下条件但没有效果:

var c = document.getElementById('p2').previousElementSibling.className = 'red';

if (c == undefined) {

c = document.getElementById('p2').previousSibling.className = 'red';
}

除了 IE8,它仍然可以在任何地方使用。我如何为 IE8 更改上述条件?

编辑 2:

设法让它在 IE8 中也能正常工作:

var c = document.getElementById('p2');

if (c.previousElementSibling) {

c.previousElementSibling.className = 'red';

} else {

c.previousSibling.className = 'red';

}

最佳答案

您需要使用 previousElementSibling获取上一个元素节点。

document.getElementById('p2').previousElementSibling.className = 'red';

http://jsfiddle.net/b6Bh8/

注意:根据上面的 MDN 链接,这不适用于 IE <= 8。您可能需要遍历 previousSibling,直到找到元素节点。

关于javascript - previousSibling 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16633469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com