0

我是 JavaScript 新手,我不知道以下是什么意思:

  $("#left-pane-tare-button a").show();

$('div#port-picker a.connect').text(getMessage('noconnect')).addClass('active');
4

1 回答 1

2

这不是真正的 jQuery 问题,而是 CSS 选择器问题。

"#left-pane-tare-button a"

上面的选择器正在寻找一个带有idof的元素left-pane-tare-button并选择所有<a>属于<div>.

空格表示您正在选择空格之前元素的后代。

至于

'div#port-picker a.connect'

A.表示它正在寻找一个class.

在这种情况下,它正在寻找一个<div>with the并且它正在选择所有具有该类id port-picker的后代<a>标签。connect

例如:

<div id="port-picker">
    <a class="connect">
    <a class="foo">
    <a class="connect">
</div>

在本例中,它将选择第一个和第三个<a>标签。

这里有一些很好的资源来了解更多关于 CSS 选择器的信息:

更新:看来我对这个答案>中所述的错误。

例子:

<div id="port-picker">
    <a class="connect">
    <a class="connect">
    <a class="foo">
    <div>
        <a class="connect">
    </div>
</div>

使用

'div#port-picker a.connect'

将选择所有 <a>标签的后代<div>

然而

'div#port-picker > a.connect'

只会选择THE FIRST HREED 三个 <a>标签的子标签<div id="port-picker">,因为第四个标签不是原始标签的直接子标签<div>

于 2018-08-16T18:49:05.317 回答