jquery ul li选择器

时间:2012-04-23 10:28:06

标签: jquery jquery-selectors html-lists

我有这个清单

<ul style="display:none">
  <li id="key1" title="Look, a tool tip!">item1 with key and tooltip
  <li id="key2" class="selected">item2: selected on init
  <li id="key3" class="folder">Folder with some children
    <ul>
      <li id="key3.1">Sub-item 3.1
      <li id="key3.2">Sub-item 3.2
    </ul>

  <li id="key4" class="expanded">Document with some children (expanded on init)
    <ul>
      <li id="key4.1">Sub-item 4.1
      <li id="key4.2">Sub-item 4.2
    </ul>
</ul>

有没有办法选择每个&lt; li>用它的“id”查询?

我曾尝试过这样但现在正在使用

$("ul li:#key1").qtip({
         content: '<img src="icons/Icon.png" />'
    });

Thanx的答案,但以上都没有工作..我试过这个

$("ul li:first").qtip({
 content: '<img src="icons/Icon.png" />'
});

并且我能够看到qtip.But仅用于列表中的第一个(key1)。 试图

$("ul li#key1").qtip({
 content: '<img src="icons/Icon.png" />'
});

$("#key1").qtip({
 content: '<img src="icons/Icon.png" />'
});

它对我不起作用.. = /

4 个答案:

答案 0 :(得分:2)

只需使用id选择器:

$("#key1").qtip(...);

id必须在页面上是唯一的,因此保留所有其他内容让jQuery使用document.getElementByID,并且选择器很好,简单(例如,快速)解析和应用。 (当然,如果你希望选择器在key1不是li时提交,那么你需要完整的选择器。但通常这不是你想要的。)

请注意,您的某些id值需要转义,因为其中包含.。要转义.,请在选择器前面放一个反斜杠。因为选择器是在JavaScript字符串中,所以你必须转义反斜杠以实际将反斜杠放入选择器,所以你使用两个:

$("#key4\\.1").qtip(...);

答案 1 :(得分:0)

为什么额外冒号:?你不需要它。

$("ul li#key1").qtip({
     content: '<img src="icons/Icon.png" />'
});

答案 2 :(得分:0)

是。

$("ul li#key1").qtip(); //rest of code

此外,因为它是一个ID,很可能是唯一的。你可以简单地使用:

$("#key1")

答案 3 :(得分:0)

如果按id选择,则无需指定类型,类或父类。 ID应该是唯一的。

例如,如果要同时选择所有选择器,可以使用以下选择器选择key1,key2和key3:

$("#key1, #key2, #key3").qtip({
         content: '<img src="icons/Icon.png" />'
    });

或者逐个选择它们:

$("#key1").qtip({
         content: '<img src="icons/Icon.png" />'
    });

$("#key2").qtip({
         content: '<img src="icons/Icon.png" />'
    });

或者您可以执行类似的操作来指定键列表,而不是重复qtip的选择和初始化:

var keys = ['key1', 'key2', 'key3'];

$(keys).each(function(i, key) {
    $("#" + key).qtip({
         content: '<img src="icons/Icon.png" />'
    });

});