2

如何获得任何点击元素的最短选择器?
我想稍后使用这个选择器来恢复相同(或几乎相同)的结果。

有没有现成的方法?

我的想法是优先搜索:

  1. 一次性身份证
  2. 带计数器的多用 ID
  3. 一次性名称
  4. 带计数器的多用名称
  5. 一次性使用的类名
  6. 带计数器的多用类名
  7. 到 1.-6 的最短父路径。

不确定如何为最大的可靠性和最大的灵活性(fe 新的父标签或代码中的移动)构建一条捷径。

4

1 回答 1

0

我会建议类似:

单击元素时

  1. 查看它是否有 ID,如果有,您的选择器是#<id>
  2. 如果它没有 ID,则生成一个随机标识符并将其分配为元素的 ID,您的选择器是#<generated-id>

即类似的东西:

var selector = '';

$('element').click(function() {
    var self = $(this);
    if(!self.is('[id]')) {
        var id = 'ljhlihj'; // replace with code to generate random ID
        self.attr('id', id);
    }
    selector = '#' + self.attr('id');
}
于 2012-10-30T10:30:58.880 回答