我正在构建一个jQuery插件,它可以应用于这样的容器元素。
$('#container').myPlugin();
在这个插件中,我试图通过.get()
从另一个页面获取相同的元素。
$.get('page.php', function(data) {
data = $.parseHTML(data);
data = $('<div/>').html(data);
data = data.find( myContainer );
}, 'html');
问题是myContainer
- 变量。我需要CSS选择器,它应用于我的插件,有什么方法可以得到它吗?
我找到了this解决方案,但似乎相当复杂。也许有一个更简单的解决方案,特别是对我的情况(插件不是对象)?!
我可以在我的插件中使用另一个选项来获取选择器,但我想避免使用它,因为它会让用户感觉像是双倍的信息。 (将插件应用于容器并在选项中引用它。)
答案 0 :(得分:0)
我会使用data-*
属性:
<a href="/resource" data-target="#element"></a>
然后,您可以使用jQuery .data('target')
方法在插件上下文中轻松读取值。使用选择器不是一种灵活的解决方案,很多情况下逻辑都会失败。向元素添加有用/重要的属性不会使标记脏。
答案 1 :(得分:0)
好的,我想我找到了一个解决方案:
var mySelector = $(this).selector
似乎有效。
重要强>
{j} 1.7中已弃用.selector
,并在jQuery 1.9中删除了它。