0

我有这个清单

<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>

有没有办法通过查询的“id”选择每个 <li>?

我试过这样,但现在可以工作了

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

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

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

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

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

或者

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

它不适合我.. =/

4

4 回答 4

2

只需使用id选择器:

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

id页面上的值必须是唯一的,因此将所有其他内容都排除在外,让我们jQuery使用document.getElementByID,并且选择器很好且简单(例如,快速)解析和应用。(当然,如果您希望选择器归档 if key1is not an li,那么您需要完整的选择器。但通常这不是您想要的。)

请注意,您的某些id值需要转义,因为您.在其中。要转义 a .,您在选择器的前面放置一个反斜杠。因为选择器位于 JavaScript 字符串中,所以您必须转义反斜杠才能真正将反斜杠放入选择器中,因此您使用两个:

$("#key4\\.1").qtip(...);
于 2012-04-23T10:31:18.623 回答
0

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

例如,如果要同时选择所有键,可以使用以下选择器来选择键 1、键 2 和键 3:

$("#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" />'
    });

});
于 2012-04-23T10:34:32.660 回答
0

为什么有多余的冒号:?你不需要它。

$("ul li#key1").qtip({
     content: '<img src="icons/Icon.png" />'
});
于 2012-04-23T10:30:09.710 回答
0

是的。

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

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

$("#key1")
于 2012-04-23T10:30:53.650 回答