如何 运行 a .click on elems parent sibling selector?
how to run a .click on elems parent sibling selector?
以下是我最近的尝试:
var aSl = document.querySelector('input[id^="blahblah"]');
aSl.closest("span.k-icon.k-i-expand").click();
它返回:
myjs.js:181 未捕获的类型错误:无法读取 null属性'closest'
我也尝试用 parent.sibling
代替上面的 .closest
- 返回 '...parent is not a function' 错误。
以下是我的加价:
<span class="k-icon k-i-expand">::before</span> <--- this is what I'm trying to run .click() on
<span class="k-checkbox-wrapper">
<input type="checkbox" tabindex="-1" id="blahblah-blah" class="k-checkbox">
<span>...</span>
</span>
更新,我刚刚也试过了;每条评论无济于事:
var el = document.querySelector('input[id^="blahblah"]');
el.parentNode.parentNode.click();
正如评论中所说,您似乎将 jquery 的 API 与 DOM API 混合使用,坚持使用其中之一,您会得到结果(假设 blahblah 的选择器实际上找到了一个对象)
closest() 方法遍历元素和它的父元素(朝向文档根),直到找到与提供的选择器字符串匹配的节点。将 return 本身或匹配的祖先。如果不存在这样的元素,则它 return 为空。
您想要得到的实际上是 aS1 的父级的 同级,因此输出为空。
如果代码是这样的话,你会得到想要的元素。
<span class="k-icon k-i-collapse">
::before
<span class="k-checkbox-wrapper">
<input type="checkbox" tabindex="-1" id="blahblah-blah" class="k-checkbox">
<span>...</span>
</span>
</span>
另请注意,不存在名称为 class 'k-i-collapse' 的父元素。
以下是我最近的尝试:
var aSl = document.querySelector('input[id^="blahblah"]');
aSl.closest("span.k-icon.k-i-expand").click();
它返回:
myjs.js:181 未捕获的类型错误:无法读取 null属性'closest'
我也尝试用 parent.sibling
代替上面的 .closest
- 返回 '...parent is not a function' 错误。
以下是我的加价:
<span class="k-icon k-i-expand">::before</span> <--- this is what I'm trying to run .click() on
<span class="k-checkbox-wrapper">
<input type="checkbox" tabindex="-1" id="blahblah-blah" class="k-checkbox">
<span>...</span>
</span>
更新,我刚刚也试过了;每条评论无济于事:
var el = document.querySelector('input[id^="blahblah"]');
el.parentNode.parentNode.click();
正如评论中所说,您似乎将 jquery 的 API 与 DOM API 混合使用,坚持使用其中之一,您会得到结果(假设 blahblah 的选择器实际上找到了一个对象)
closest() 方法遍历元素和它的父元素(朝向文档根),直到找到与提供的选择器字符串匹配的节点。将 return 本身或匹配的祖先。如果不存在这样的元素,则它 return 为空。
您想要得到的实际上是 aS1 的父级的 同级,因此输出为空。
如果代码是这样的话,你会得到想要的元素。
<span class="k-icon k-i-collapse">
::before
<span class="k-checkbox-wrapper">
<input type="checkbox" tabindex="-1" id="blahblah-blah" class="k-checkbox">
<span>...</span>
</span>
</span>
另请注意,不存在名称为 class 'k-i-collapse' 的父元素。