jquery是否查找ID为ATTR的元素?

jquery是否查找ID为ATTR的元素?,jquery,Jquery,鉴于以下情况: <div" id="NAV"> <ul> <li class="navitem " id="79"> <span class="icon"> </span> Title </li> <li class="navitem " id="33"> <span class="icon"> </span> Title </li> <

鉴于以下情况:

<div" id="NAV">
 <ul>
  <li class="navitem " id="79">
   <span class="icon"> </span> Title
  </li>
  <li class="navitem " id="33">
   <span class="icon"> </span> Title
  </li>
  <li class="navitem " id="123">
   <span class="icon"> </span> Title
  </li>
  <li class="navitem " id="41">
   <span class="icon"> </span> Title
  </li>
  <li class="navitem " id="31">
   <span class="icon"> </span> Title
  </li>
  <li class="navitem " id="123">
   <span class="icon"> </span> Title
  </li>
 </ul>
</div>
谢谢使用选择器:

$("#NAV li#74").remove();
我应该说74不是有效的id值,因为它们必须以字母开头。

使用选择器:

$("#NAV li#74").remove();

我应该说74不是有效的id值,因为它们必须以字母开头。

不允许使用纯数字id。它们必须是独一无二的


不过,您可以这样做:$'NAV li74'。

不允许使用纯数字ID。它们必须是独一无二的


您可以这样做:$'NAV li74'。

其他的都是正确的,因为数字ID在HTML4中无效。但是,要根据元素的ID选择元素,您应该只提供ID

而不是:

$('#NAV li#74')
如果74是有效的ID,您会这样做:

$('#74')
虽然你真的应该让它有效。比如:

$('#item_74')
编辑:如果你要使用你正在采取的方法,你可以这样做:

$("#NAV li").filter('[id=74]').remove();
这用于将元素过滤到ID属性等于74的元素


但是同样,当您通过ID直接引用时,为什么要这样做呢?ID提供了一个非常有效的选择。

其他ID是正确的,因为数字ID在HTML4中无效。但是,要根据元素的ID选择元素,您应该只提供ID

而不是:

$('#NAV li#74')
如果74是有效的ID,您会这样做:

$('#74')
虽然你真的应该让它有效。比如:

$('#item_74')
编辑:如果你要使用你正在采取的方法,你可以这样做:

$("#NAV li").filter('[id=74]').remove();
这用于将元素过滤到ID属性等于74的元素


但是,同样,当您通过ID直接引用时,为什么要这样做呢?这给了您一个非常高效的选择。

我只是好奇,但您没有想到,您已经用$'NAV'选择了一个具有特定ID属性的元素吗?$NAV li选择了NAV下的所有元素。attrid,74然后尝试将每个的id设置为74。然后删除所有的。因此,你所看到的行为。Mike Axiak有下面正确的语法。我只是好奇,但你没有想到你已经用$'NAV'选择了一个具有特定id属性的元素吗?$NAV li选择了NAV下的所有元素。attrid,74然后尝试将每个的id设置为74。然后删除所有的。因此,你所看到的行为。Mike Axiak具有以下正确语法。关于无效ID,您是对的,但不要使用指定一个ID从另一个ID递减的选择器。由于ID必须是唯一的,所以您应该只需要目标ID。标记名也不是必需的。这两种方法都会减慢选择的速度。关于无效ID,您是对的,但不要使用指定一个ID从另一个ID递减的选择器。由于ID必须是唯一的,所以您应该只需要目标ID。标记名也不是必需的。这两种方法都会减慢选择的速度。