获取元素的css选择器,我的插件应用于

时间:2014-02-21 15:16:47

标签: javascript jquery

我正在构建一个jQuery插件,它可以应用于这样的容器元素。

$('#container').myPlugin();

在这个插件中,我试图通过.get()从另一个页面获取相同的元素。

$.get('page.php', function(data) {
    data = $.parseHTML(data);
    data = $('<div/>').html(data);

    data = data.find( myContainer );

}, 'html');

问题是myContainer - 变量。我需要CSS选择器,它应用于我的插件,有什么方法可以得到它吗?

我找到了this解决方案,但似乎相当复杂。也许有一个更简单的解决方案,特别是对我的情况(插件不是对象)?!

我可以在我的插件中使用另一个选项来获取选择器,但我想避免使用它,因为它会让用户感觉像是双倍的信息。 (将插件应用于容器并在选项中引用它。)

2 个答案:

答案 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中删除了它。