2012-05-11 84 views
1

我如何选择一个特定的元素id白色jQuery查找?或者它甚至有可能?jquery查找功能

HTML:

<div id="bar"> 
    <a id="1" href="#"></a> 
    <a id="2" href="#"></a> 
    <a id="3" href="#"></a> 
    <a id="4" href="#"></a> 
    </div> 

Javascript: 


$('#bar a').find('id',2).css("background-color","blue"); 

但是这么想的工作

回答

4

ID 必须是唯一的,所以只需使用$('#2')来选择元素。通常不需要使ID选择器更加具体,这样做只会减慢它的速度。

除此之外,除非您使用HTML5,否则ID不能以数字开头。使用例如whatever-2而不仅仅是2

0
$('#bar a#1') 

将与ID选择 '1'。

Alltho,#1不是有效的ID名称,我认为它们不能以数字开头。

0

要么找到一个传人

$('#bar').find('#2').css("background-color","blue"); 

或过滤后代

$('#bar a').filter('#2').css("background-color","blue"); 

或通过上下文获得:

var parent = $('#bar'); 
$('#2',parent).css("background-color","blue"); 

,或者直接得到它!因为ID是唯一的呢(​​除非你页面经常移动这个元素,这就是为什么你需要的家长):

$('#2').css("background-color","blue"); 
-2
$('#bar a [id=2]').css("background-color","blue"); 
+1

ID是使用'#id'选择的,与ID选择器相比,使用属性选择器会非常慢。 – ThiefMaster

0

您可以通过索引使用情商方法获取元素http://api.jquery.com/eq/

$('#bar a').eq(2).css("background-color","blue"); 
0

使用find()来搜索id没有意义,因为根据定义,id必须是唯一的。当你想在任何父元素内找到一个类或html标签元素时,Find()函数会更好。从文档很好的例子:当你想改变特定元素内的所有跨越的CSS,使用查找:

$("p").find("span").css('color','red'); 
0

你可以尝试$( “#条”)找到( “#2”)的CSS(”。背景颜色“,”蓝色“);

正如ThiefMaster所说,你总是可以使用$(“#id”).css(“background-color”,“blue”);