2010-09-16 73 views
2

我在我的HTML中有一個錨點。它有一個帶有值的頁面屬性。所以每次點擊時,我都會在我的js中使用頁面屬性值。現在我想用背景色設置一個樣式屬性,以顯示某個元素被選中。所以我必須選擇逐頁屬性的元素,併爲a元素添加一個新的屬性值。jQuery,按屬性值選擇,添加新屬性

我該如何處理?

+0

請給我們的代碼。 – 2010-09-16 06:44:04

回答

4

隨着HTML這樣的:

<a href='#' page='1'>Link 1</a>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​<br /> 

你可以這樣做:

$('a[page=1]').addClass('selected').attr('test', 'hi!');​ 

(即更好的使用[ '選擇' 如]比樣式屬性的CSS類來改變顯示器 - 但ATTR在那裏調用顯示如何添加屬性)。

+0

但我想要選定一個元素具有選定的類,所有其他元素不應該有這個類,所以如何選擇其他元素時刪除該類? – 2010-09-16 06:54:38

+0

用$(「。selected」)解決了這個問題。removeClass('selected'); – 2010-09-16 07:00:58

1

不知道你在問什麼..你需要找到一個具有一定價值的「頁面」的elemenent,並改變它的背景嗎?

$("a[page='value']").css('background-color', 'color-code'); 
+0

謝謝你的工作,但是我用顏色代碼指定的顏色保持不變,當我點擊其他元素。它應該切換回默認值。任何想法如何做到這一點? – 2010-09-16 06:47:38

+0

您可以使用null來取消設置CSS屬性。 $(「a [page ='value']」).css('background-color',null)。 – 2010-09-17 09:39:54

3

選擇由屬性值的元素,你可以使用這個語法:

$('[attribName="value here"]') 

attribName應與屬性名稱代替,如nametitle

要添加一個新的屬性值,可以使用attr方法。

例子:

$('[attribName="value here"]').attr('attribute name', 'attribute value'); 

這是你可以改變背景顏色:

$('[attribName="value here"]').css('background-color', 'green'); 

注意應更換虛擬屬性名稱和值按您的要求。