<script type="text/javascript">
function getElements(){
var x=document.getElementById("dialogArea");
x.nextElementSibling.nextElementSibling.value="30";//該方法錯(cuò)誤
}
</script>
<input type="hidden" name="dinwei" class="dinwei" id="dialogArea" value="" />
<input name="myInput" type="text" size="20" value="How1 many input elements?"/>
<input name="myInput" type="text" size="20" value="How2 many input elements?"/>
<input name="myInput" type="text" size="20" value="How3 many input elements?"/>
<input type="button" onclick="getElements()"value="button" />
1. Verwenden Sie nextElementSibling, um den n?chsten Knoten mit der ID von dialogArea zu finden und seinen Wert zu ?ndern.
2. Verwenden Sie nur native JS ohne JQuery.
3. Der Zweck besteht darin, die versteckte Eingabe als Positionierungskoordinate für die Suche nach der angegebenen Eingabe zu verwenden, wenn die ID und Klasse der Eingabe in einigen Sonderf?llen nicht ermittelt werden kann.
歡迎選擇我的課程,讓我們一起見證您的進(jìn)步~~
script 放在 dom 前面能獲取到 dom 么...
題目看錯(cuò)了,不過看起來好像沒什么問題,能不能貼一下報(bào)錯(cuò)的截圖。再者說,這樣的連續(xù)判斷最好加一個(gè)存在判斷,否則很容易出現(xiàn)問題。類似于:
if (dom.next) {
dom.next.next
}
var test1 = document.getElementById('dialogArea');
var test2= test.nextElementSibling.nextElementSibling;
然后你的html不能換行,換行了會(huì)每個(gè)input后面有個(gè)text類型的nextSibling,空白字符也相當(dāng)于一個(gè)文本節(jié)點(diǎn)
var x=document.getElementById("dialogArea");
x.nextElementSibling.nextElementSibling.value = "30";
<input type="hidden" name="dinwei" class="dinwei" id="dialogArea" value="" /><input name="myInput" type="text" size="20" value="How1 many input elements?"/><input name="myInput" type="text" size="20" value="How2 many input elements?"/><input name="myInput" type="text" size="20" value="How3 many input elements?"/><input type="button" onclick="getElements()"value="button" />
最好用jquery,非要用js也可以這樣寫。
var x=document.getElementById("dialogArea");
next(next(x)).value="30";
function next(e){
e = e.nextSibling;
if(e.nodeType == 3){ // 3是指text類型
e = e.nextSibling;
}
return e;
}