2015-09-25 45 views
0

我的代碼出現了一些問題,最後的錯誤是隻替換了一些html元素有overflow:hidden;溢出:無;,我可以使用JavaScript或CSS來做到這一點,但我不知道這個時候如何。請幫幫我!使用JavaScript或CSS,是否有選擇具有CSS樣式溢出的元素:隱藏?

無論如何選擇具有CSS樣式的元素overflow:hidden;在javascript或css?

更新2:(一切就ok了!)

感謝PranavÇ巴蘭Michael_B已經提出了一些真棒答案。

var ele = $('.selector').filter(function() { 
 
    return $(this).css('overflow') == 'hidden'; 
 
}) 
 

 
ele.css('color', 'red');
.overflow { 
 
    overflow: hidden 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class=selector>1</div> 
 
<div class="selector overflow">2</div> 
 
<div class=selector style="overflow:hidden">3</div> 
 
<div class=selector>1</div> 
 
<div class="selector overflow">4</div> 
 
<div class=selector>5</div>

+1

你是什麼**真的想要? –

+0

如果在HTML元素中聲明瞭「overflow:hidden」,則可以使用'style'屬性並使用屬性選擇器進行匹配。 –

+0

我很抱歉,我在問題標題中提到了我想要的內容,並在我的問題中大膽提出。 –

回答

3

您可以使用filter()

var ele = $('.selector').filter(function() { 
 
    return $(this).css('overflow') == 'hidden'; 
 
}) 
 

 
ele.css('color', 'red');
.overflow { 
 
    overflow: hidden 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class=selector>1</div> 
 
<div class="selector overflow">2</div> 
 
<div class=selector style="overflow:hidden">3</div> 
 
<div class=selector>1</div> 
 
<div class="selector overflow">4</div> 
 
<div class=selector>5</div>

+0

樣式表怎麼樣? –

+0

這是工作,你真棒!非常感謝。 –

+0

@TrầnQuốcHoàinew2015:很高興幫助:) –

2

只使用CSS,如果overflow: hidden在HTML元素聲明(即一致),您可以定位style屬性並使用attribute selectors進行匹配。

HTML

<div class="..." id="..." style="overflow: hidden;"> ... </div> 

CSS

div[style*="overflow:hidden"], div[style*="overflow: hidden"] { ... } 

asterisk *告訴CSS與一個style屬性,該屬性包含的子字符串匹配div 「溢出:隱藏」 或 「溢出:隱藏」

+0

唯一的問題是,不僅「overflow」屬性的值爲「hidden」。另外,它不會捕獲CSS文件中設置的溢出。 –

+0

@ Karl-AndréGagnon,我修改了代碼(希望保持簡單;-)另外,正如我在我的回答中引用的,此解決方案僅適用於CSS內聯。 –