jQuery [object Object] 不是有效的选择器

jQuery [object Object] is not a valid selector

我正在尝试 select tree-node 元素 children 和第一个 child 但它不是有效的 selector.

<g class="nodes">
   <g class="tree-node enter" id="tree-node-cdl3c5he">
      <g class="node-group">
        <circle class="node-shape" r="80"></circle>
        <g class="node-label-group" transform="translate(-80,-80)">
        <foreignObject class="node-content-container" width="160" height="160">
        <div class="node-content">
         <div class="inner">
          <div class="node-label" data-test-id="node-label-new-part">New Part</div>
        </div></div></foreignObject></g><g class="root-group" transform="translate(0,-80)"><circle class="root-shape" r="15"></circle></g>
</g>
</g>
</g>

首先使用 child:

$('.nodes > .tree-node:first-child')

Ember 测试:

await click($('.nodes > .tree-node:first-child'));

错误: 无法在 'Document' 上执行 'querySelector':'#ember-testing [object Object]' 不是有效的 selector。

$('.nodes > .tree-node:first-child') 工作正常并且不是无效的选择器,如下所示。它将 return .nodes 的第一个 child 与 class .tree-node ,如果你想在 [=16] 中获取第一个 child =] 那么你需要添加一个 space $('.nodes > .tree-node :first-child')


$('.nodes > .tree-node:first-child')
Expected ► <g class="tree-node enter" id="tree-node-cdl3c5he">

var x = $('.nodes > .tree-node:first-child');
console.log(x)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<g class="nodes">
  <g class="tree-node enter" id="tree-node-cdl3c5he">
    <g class="node-group">
      <circle class="node-shape" r="80"></circle>
      <g class="node-label-group" transform="translate(-80,-80)">
        <foreignObject class="node-content-container" width="160" height="160">
          <div class="node-content">
            <div class="inner">
              <div class="node-label" data-test-id="node-label-new-part">New Part</div>
            </div>
          </div>
        </foreignObject>
      </g>
      <g class="root-group" transform="translate(0,-80)">
        <circle class="root-shape" r="15"></circle>
      </g>
    </g>
  </g>
</g>


$('.nodes > .tree-node :first-child')
Expected ► <g class="node-group">

var x = $('.nodes > .tree-node :first-child');
console.log(x)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<g class="nodes">
  <g class="tree-node enter" id="tree-node-cdl3c5he">
    <g class="node-group">
      <circle class="node-shape" r="80"></circle>
      <g class="node-label-group" transform="translate(-80,-80)">
        <foreignObject class="node-content-container" width="160" height="160">
          <div class="node-content">
            <div class="inner">
              <div class="node-label" data-test-id="node-label-new-part">New Part</div>
            </div>
          </div>
        </foreignObject>
      </g>
      <g class="root-group" transform="translate(0,-80)">
        <circle class="root-shape" r="15"></circle>
      </g>
    </g>
  </g>
</g>

通过像 $('.nodes > .tree-node:first')[0] 一样访问对象。