19 回答

TA貢獻1806條經驗 獲得超5個贊
我理解能力有點差,好像沒怎么完全理解你的意思o.0(學習js也不久),希望能幫到你
1 <script type="text/javascript"> 2 function list(id){ 3 var oDiv=document.getElementById(id); 4 var myname = oDiv.firstElementChild.innerHTML; 5 document.getElementById("CName").value=myname; 6 var myNumber = oDiv.firstElementChild.nextElementSibling.innerHTML; 7 document.getElementById('BName').value = myNumber; 8 var myBank = oDiv.lastElementChild.innerHTML; 9 document.getElementById('CNo').value = myBank; 10 } 11 </script>
?
?
?
?

TA貢獻1827條經驗 獲得超4個贊
@shoulder11: <span>可以oDiv.firstElementChild.nextElementSibling.nextElementSibling.innerHTML;
或者oDiv.lastElementChild.previousElementSibling.innerHTML;
當然有多個子元素時,上述方法就不太合適可以考慮使用childNodes屬性
第一個標簽<img>:oDiv.childNodes[0] //IE
oDiv.childNodes[1]? //其他瀏覽器會把元素之間的空白符也會算為子元素
第三個標簽<span>:oDiv.childNodes[2] //IE
oDiv.childNodes[5]? //其他瀏覽器
其他子元素可以以此類推;
?

TA貢獻2080條經驗 獲得超4個贊
@shoulder11: 今天學習DOM擴展-專有擴展時,發現其中的children屬性可以解決不同瀏覽器在處理空白符是的差異,所以上述的方法可以寫成:
第一個標簽<img>:oDiv.children[0];
第三個標簽<span>:oDiv.children[2];

TA貢獻1877條經驗 獲得超6個贊
@老板丶魚丸粗面: 這樣,我再去試試,太謝謝了。
TwT不過不好意思,圓豆沒有給成你TwT,因為有個方法更加簡單并且不需要給div設置id值,我最后用了他的方法。
但還是十分感謝!你也讓我學到了很多~
我也都記下來了嘿嘿。

TA貢獻1818條經驗 獲得超8個贊
document.getElementById('XXX').getElementsByTagName('span/strong')[0] ?
getElementXXX不止針對document哦

TA貢獻1793條經驗 獲得超6個贊
document.getElementById('XXX').getElementsByTagName('span/strong')[0]
這樣的話它得出來的是兩個值吧?那要怎么接收它呢?

TA貢獻1891條經驗 獲得超3個贊
其實你的js并沒有什么問題,問題在于你的兩個div的id都是相同的,那肯定只能一個能獲取到了。
另外,你這樣寫太麻煩,用jquery非常簡單
function list(id) {
var div = $("#" + id);
$("#CName").val(div.find("strong").text());
$("#BName").val(div.find("span").text());
$("#CNo").val(div.find("a").text());
}
添加回答
舉報