2010-09-16 75 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'); 

注意应更换虚拟属性名称和值按您的要求。