我想添加一些jQuery代碼給所有具有position的元素:fixed set on them。這種事情可能嗎?如果有的話,這將會非常有幫助,所以我不必通過所有的代碼和額外的類來修復已修復的對象。jQuery選擇具有特定CSS的元素
$('*').filter(function(){ return this.style && this.style.position === 'fixed'; });
我想添加一些jQuery代碼給所有具有position的元素:fixed set on them。這種事情可能嗎?如果有的話,這將會非常有幫助,所以我不必通過所有的代碼和額外的類來修復已修復的對象。jQuery選擇具有特定CSS的元素
$('*').filter(function(){ return this.style && this.style.position === 'fixed'; });
這其中應包括所有的情況:
$('*').filter(function() {
return $(this).css("position") === 'fixed';
});
不一樣快qwertymk的答案,但也工作,如果不是柯林的回答
更快,更安全該css屬性是從另一個規則繼承的,如演示here。
只是好奇地知道當'this.style'和'this.style.position ==='fixed''被單獨寫入時會返回什麼? – kushalvm 2012-02-13 11:11:16
@MegaRacer這是一個保護性檢查,如果'this.style'是'undefined',this.style.position'將會拋出一個錯誤'不能讀取未定義的屬性位置',因爲編譯器檢查從左到右,如果this.style ===未定義'它會在'&&'之前的表達式失敗而不會導致錯誤。 – 2016-05-08 09:54:02
我剛剛準備發佈相同的代碼,因爲我在遇到代碼時遇到了同樣的問題,並且執行了同樣的操作,而且工作正常。完美的是,非常感謝你 – 2012-02-13 04:10:10
@mgibsonbr:比我更好的答案。 +1 – 2012-02-13 04:11:54