2017-08-09 65 views
-1

我試圖在dt之後獲取元素的內容,該元素具有頁面上其他地方的某些內容。我應該使用什麼方法?查找具有唯一內容的元素,然後抓取下一個元素的內容

<dt>This is the first element</dt> 
<dd>This is to be returned</dd> 
+1

我會假設像for循環通過'document.querySelector('dt')'檢查'innerHtml ='獨特內容',然後調用'nextSiblingElement' – m0meni

+1

你試過了什麼? – j08691

+0

這似乎不是該問題的重複。這個問題引用瞭如何根據前一個元素的特定條件來定位下一個元素,而不僅僅是如何定位後續元素。 – freginold

回答

0

如果你正在尋找基礎上,dt元素的內容找到dd元素的內容,你可以循環遍歷網頁dt元素這樣的節點列表:

function getVal() { 
    var els = document.getElementsByTagName('dt'); 
    var returnVal = false; 
    for (var i = 0; i < els.length; i++) { 
     if (els[i].innerText == contentToMatch) { // check 'dt' content 
      returnVal = els[i].nextSibling.innerText; // get 'dd' content 
      break; 
     } 
    } 
    return returnVal; 
} 

此功能如果未找到該特定內容,將返回false。您也可以用innerHTML代替innerText,具體取決於您要找的內容。