1

如何通过 jquery find 选择特定的元素 id?或者甚至有可能?

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

6 回答 6

4

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

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

于 2012-05-11T06:33:36.227 回答
0
$('#bar a#1')

将选择 id 为“1”的。

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

于 2012-05-11T06:32:02.593 回答
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");
于 2012-05-11T06:32:10.500 回答
0

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

 $('#bar a').eq(2).css("background-color","blue");
于 2012-05-11T06:33:26.413 回答
0

使用 find() 搜索 id 没有意义,因为根据定义 id 必须是唯一的。当您想在任何父元素中查找类或 html 标记元素时,Find() 函数会更好。文档中的好例子:当您想更改特定元素内所有跨度的 css 时,请使用 find:

 $("p").find("span").css('color','red');
于 2012-05-11T06:39:05.687 回答
0

你可以试试 $("#bar").find("#2").css("background-color", "blue");

正如 ThiefMaster 所说,你可以随时使用 $("#id").css("background-color", "blue");

于 2012-05-11T06:43:51.747 回答