javascript - jQuery 获取搜索选择器,如果元素不存在

标签 javascript jquery jquery-plugins jquery-selectors

如果元素不存在,如何获取搜索到的选择器的字符串?

例如:

$( '父子类' ).plugin( )

在我的插件中,我想获取字符串 "parent child.class",但是 $( 'parent child.class' ) 不存在。

我将开始深入研究 jQuery 源代码,但我想我会问一下,以防有更深入了解的人知道这一点。

最佳答案

你不能。

jQuery 对象有一个 .selector 属性,你可以在你的插件中使用它(虽然它似乎是为了与 jQuery 内部使用),但是 - 它很大但 - 不是所有的 jQuery对象是使用选择器字符串创建的。考虑这个 .yourPlugin() 的使用示例:

$('div.someClass').add(document.getElementById("test"))
                  .add("<div>Hello</div>")
                  .filter(function() {
                      return $(this).attr("data-test") == "blah";
                  })
                  .parents()
                  .yourPlugin();

考虑最终传递给 .yourPlugin() 的 jQuery 对象的选择器是什么是没有意义的,无论它是否包含任何元素。

(我想如果你知道你的插件只会被你使用并且你只会传递给它使用选择器创建的 jQuery 对象那么你可以使用this.selector 在你的插件中...)

关于javascript - jQuery 获取搜索选择器,如果元素不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11170365/

相关文章:

javascript - 字符串连接 - Eloquent javascript棋盘

javascript - jquery 完整的月历能够在月份中放置控件

javascript - 从 Rails 3 中的 Controller 方法或助手获取数据到 ajax

javascript - 两种状态的三向切换(Javascript 或 jQuery)

javascript - jquery 改变事件回调

javascript - jquery中的单元测试功能

javascript - Ajax 循环调用

javascript - jQueryUI 选项卡通过 SlideUp 和 SlideDown 切换

javascript - Summernote 在动态注入(inject)时保存文本区域值的问题

javascript - 我如何使用jquery scrollbar paper插件?