2013-10-24 37 views
2

我無法通過樣式屬性檢索元素。 我有一個ul與幾個li元素,我想找到一個與風格屬性值爲display:list-item。我試圖用幾種方法來解決這個問題,其中包括以下幾個方面,但我一直在收到一個空的對象。我對title屬性沒有問題。不知道我做錯了什麼。如何按樣式屬性查找元素?

$('li[style*=display:list-item]') 

HTML:

<ul class="bjqs" style="height: 200px; width: 100%;"> 
    <li class="bjqs-slide" style="height: 200px; width: 100%; display: list-item;"> 
+0

這似乎是一個壞主意。你確定這是必要的嗎?爲什麼你不能只獲得'.bjqs-slide'? – lbstr

+0

我有幾個.bjqs-slide li元素,我想用具有這個屬性的元素做些事情。 – user2232681

回答

2

兩個問題:

  1. 在你的HTML之間有一個空間:和 「列表項」, 「顯示器」。
  2. 您的選擇器需要用報價包裝""

簡單地改變你的選擇,包括這個空間並在引號把它包:

$('li[style*="display: list-item"]') 

JSFiddle demo

+0

我還注意到,在我通過插件創建它之前,我正在搜索這個元素,我相信這會加重我的問題。當我按照你的建議包括了這個空白區域,並把它移到幾行後,就成功了。謝謝。 – user2232681

+0

@ user2232681樂意幫忙! :) –

5

你的選擇是因爲你的屬性有空白空白敏感的,你需要在你的選擇,以及:

$('li[style*="display: list-item"]') 

最簡單的方法,從而減少問題精確匹配的字符串,如果你根據特定的CSS屬性過濾元件,是使用filter()

$('li').filter(function(){ 
    return $(this).css('display') === 'list-item'; 
}); 

參考文獻: