有没有办法获取 DOM 对象并推断出可用于稍后查找该元素的 CSS 选择器。
示例:
<ul class="items">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<script type="text/javascript">
var second = $('.items li:eq(1)');
console.log(get_css_selector(second));
</script>
其中 get_css_selector
将返回类似于 .items li:eq(1)
的内容,或者至少返回一个可用于选择元素的字符串。
如果有一种方法可以根据以下内容生成 CSS 选择器,那就太好了:
<script type="text/javascript">
var third = document.getElementsByTagName('li')[2];
console.log(get_css_selector(third));
</script>
最佳答案
您似乎正在尝试使用原始选择器。我的说法正确吗?还是我把事情过于简单化了?
原始选择器存储在您创建的 jQuery 对象中。
尝试一下: http://jsfiddle.net/9JUJL/
var second = $('.items li:eq(1)');
var selector = second.selector;
或者为了奖金,这个? http://jsfiddle.net/9JUJL/2/
function get_css_selector(elem) {
var tag = elem.tagName.toLowerCase();
return tag + ':eq(' + $(tag).index(elem) + ')';
}
关于jquery - 有没有办法根据 jQuery 中的 DOM 元素生成 CSS 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3640293/