<script> var shq = {} shq.cmenu = function (e) { var e = window.event ? window.event.srcElement : e.target; if (/a/i.test(e.tagName)) { alert(e.parentNode.nextSibling.nodeType); // 3 text e.parentNode.nextSibling.innerHTML = e.innerHTML; e.blur(); } } </script> <div id="div1" onclick="shq.cmenu(event)"> <a href="#">特色</a> </div> <div id="div2"></div>
システム環境: win8、ie11
問題: nextSibling は現在のノードと同じレベルにある次のノードを取得しますが、成功しません。
プロセスの説明: [機能] をクリックしても、div2 の innerHtml が [機能] になりませんでした。
デバッグ中に、e.parentNode.nextSibling が次の div ではなく #text であり、nodetype が 3 に等しいことが判明しました。
個人的な結論:正しいかどうかは分かりませんが、今の結果がこれです。
div1.nextSibling.nextSibling は div2 です。