jquery
  • dom
  • nodes
  • textnode
  • 2014-02-19 58 views 0 likes 
    0

    我使用這行代碼:返回文本節點

    $("#middle_child").contents().filter(function(){return this.nodeType == Node.TEXT_NODE;}).text(); 
    

    現在,我只是把這個在執行console.log()。我使用Chrome將&值返回值作爲空字符串進行測試,但值應該返回「Middle Child」。

    這是HTML:

    <div id='parent'> 
        Parent 
        <div id='oldest_child'> 
        Oldest Child 
        <div id='middle_child'> 
         Middle Child 
         <div id='youngest_child'> 
          Youngest Child 
         </div> 
        </div> 
        </div> 
    </div> 
    
    <div id='lone'>Lonely Div</div> 
    

    編輯:我試圖使一個的jsfiddle &這並給我提供一些潛在的見解。在小提琴中,我選擇jQuery 1.6.4 &它工作得很好。我在我的網站上運行的jQuery版本是1.6.2。有誰知道這可能是我的問題的一部分(如果不是全部)?

    +0

    製作一個jsfiddle.net – mplungjan

    回答

    0

    我想通了,我的問題。

    首先,我撒謊,我使用jQuery版本1.9.1由於某些原因它在鏈接中顯示爲1.6.2,但文件爲1.9.1。

    現在,我的問題:我忘了把我的腳本包裝在$(document).ready()中。

    0

    您是否嘗試將.text值存儲到變量中並記錄下來?不知道問題出現在哪裏。看看這個JSFiddle,它使用了你發佈的相同代碼。單擊該按鈕將#lone中的文本替換爲#middle_child中的文本。

    http://jsfiddle.net/m5xPd/

    var data = $("#middle_child").contents().filter(function() { 
        return this.nodeType == Node.TEXT_NODE; 
    }).text(); 
    
    $('#button').click(function(){ 
        $('#lone').empty().append(data); 
    }); 
    
    +0

    它似乎在JSFiddle中工作得很好,但它不起作用在我的網站上。我有最好的理論是,我的網站使用jQuery 1.6.2和最接近的JSFiddle必須是1.6.4。 不過,我希望我會收到某種錯誤,而不是返回空字符串。 這裏是我做的JSFiddle:http://jsfiddle.net/6q5Lx/ –

    +0

    你可以嘗試用新的替換你的jQuery版本,看看問題是否自行糾正?你在1.6.2上卡住了嗎? – binaryatrocity

    +0

    這不是我所能做的,但是我發現了這個問題。我會在一會兒發佈。 –

    相關問題