获取当前的jQuery选择器字符串?

Ric*_*ani 24 string jquery jquery-selectors

调用自定义插件时,如何获取当前选择器字符串?

$('my_selector p').my_plugin();
Run Code Online (Sandbox Code Playgroud)

my_selector p在我的脚本中输出.我该如何访问这个字符串?

Sar*_*raz 37

你可以使用selector财产:

$('my_selector p').selector // my_selector p
Run Code Online (Sandbox Code Playgroud)

版本弃用: 1.7,删除: 1.9

  • 不是说它被弃用和删除,而是告诉我们适当的替代方案. (16认同)
  • 这是自jQuery 1.7以来不推荐使用的 - 看看tibc-dev的答案. (9认同)

tib*_*dev 14

选择后弃用v.7.7:

如果您只处理id和类作为选择器,则可以使用以下命令:

var selector = (typeof($(this).attr('id')) !== 'undefined' || $(this).attr('id') !== null) ? '#' + $(this).attr('id') :  '.' + $(this).attr('class');
Run Code Online (Sandbox Code Playgroud)

有更简洁的方法,但由于自1.7以来由于浏览器之间的不一致而删除.selector,这是我的首选.

  • 如果$(this).attr('class')返回的不仅仅是一个类,该怎么办?这会使一个无效的选择器,你应该做'.'+ $(this).attr('class').split("").join(".")代替. (2认同)