2011-11-04 105 views
0

當我的變量anchor包含單詞'image'時,我想運行'action one'。如果它不包含指定的文本,否則它將運行第二個動作。jquery:包含選擇器

var clickedImage = $('.header ul li').find('img[rel="clicked"]').closest('li'); 

if ($(clickedImage).find('a:contains("image")')) { 

     //action one 

    } else { 

     //action two 

    } 

我在哪裏錯了?

+0

什麼是'clickedImage'?我們在這裏需要更多的上下文... – Neal

+0

添加變量 –

+0

創建一個小提琴,它適用於我(safari 5):[見這裏](http://jsfiddle.net/mAu888/6ZsSH/)。如果html與您的不匹配,請分叉並提供您的小提琴。 – mAu

回答

0

檢查集合的長度:

if ($(clickedImage).find('a:contains("image")').length) { 

.find()返回一個jQuery對象。要檢查選擇器是否匹配任何內容,請檢查length屬性是否不等於零。

+0

我理解你的邏輯,但是這不起作用。我敢肯定即將做的事是錯誤的。 var count = $(clickedImage).find(「a」)。find('href:contains(「Walk」)')。length;'THEN'if($(count).length!= 0){' –

+0

'.find()'接受一個字符串(選擇器)作爲參數。省略jQuery包裝:'var clickedImage = $('。header ul li')。find('img [rel =「clicked」]')。closest('li')'。 –

+0

ok這部分是一個錯誤,所以不應該在那裏,但':contains'部分仍然不起作用。感謝您一直以來的幫助! –