假设我有以下文档:
<html>
<body>
<h1>Hello world</h1>
</body>
</html>
给定字符串“Hello world”,我如何搜索文档并为正确的元素(在本例中为 h1)生成 CSS 选择器?
最佳答案
好吧,这太草率了——如果你使用 $(":contains"),你就会得到整个树到最里面的元素。使用它,您可以找到最里面的 Node 。
var myContainer = $(":contains('Hello world') ");
while(myContainer.children().length != 0) {
myContainer =myContainer.children();
}
myContainer.addClass("foo");
.foo {
border: 1px dotted blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<body>
<h1>Hello world</h1>
</body>
</html>
或者,使用单个选择器执行相同的操作:
$(":contains('Hello world'):not(:has(*))").addClass("foo");
.foo {
border: 1px dotted blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="content-pane">
<div class="header-pane">
<h1>Hello world</h1>
</div>
<div class="inner-content">
<h2>
Hello world is me!
</h2>
</div>
</div>
关于javascript - 如何在给定元素值的情况下为 DOM 元素获取唯一的 CSS 选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41856903/