2014-01-11 86 views
0

我正在測試一個web應用程序並使用jQuery來查找包含特定字符串的文本。這是我寫的功能,但是,它似乎沒有迴應。我不知道這個元素的標籤在什麼時候提前。jQuery:爲什麼:包含選擇器返回undefined?

function get_element_by_text(text) { 
    $(document).ready(function(){ 
     var selector = '*:contains(' + text + ')'; 
     return $(selector).get(0); 
    }); 
} 

get_element_by_text("Unanswered");返回undefined

+0

你匹配包含文本的所有元素,即使是''標籤,這很可能是集合中的第一個匹配 – adeneo

+0

並刪除文檔就緒處理程序 – adeneo

+0

我不知道元素的標記。我試着-1作爲索引,它沒有返回任何東西。 – KJW

回答

2

get_element_by_text不返回任何東西,你有裏面一個DOM準備處理函數的函數,該值是由內部函數返回。

因此,get_element_by_text不會返回任何值,因此您會得到未定義的結果。

嘗試

function get_element_by_text(text) { 
    var selector = '*:contains(' + text + ')'; 
    return $(selector).get(0); 
} 
get_element_by_text("Unanswered"); 

但它會給html的結果,因爲你的選擇

+0

這不是我所要的預計,我想我需要找到最接近的父元素,其中只包含文本。 – KJW