保存和调用jQuery选择器

时间:2011-10-19 11:48:52

标签: jquery jquery-selectors

我有一个应用程序可以保存一个点击jQuery选择器供以后使用,当我尝试回忆选择器时,我遇到了一个有趣的问题。以下是我的代码供参考。这是一个AJAX调用的回调函数,它返回data中保存的JSON对象。我已经验证数据正在正确传输,但似乎尝试使用字符串作为jQuery中的选择器再次无法正常工作。 String()内容仅供测试,我不确定是否有必要。

如果有人对为什么这可能不起作用有任何指导,我很想知道。任何jQuery(selector)的代码都无效。

jQuery.each(data.dot_collection, function() { 
    x_coord = this.x_coord;
    y_coord = this.y_coord;
    selector = new String(this.selector);

    //Works
    alert( selector ); // = html > body.home.blog.logged-in.single-author.two-column.right-sidebar > div.hfeed > header#branding > hgroup > h1#site-title

    //Works
    alert(jQuery("html > body.home.blog.logged-in.single-author.two-column.right-sidebar > div.hfeed > header#branding > hgroup > h1#site-title").offset().left);

    // Not Working & jQuery(selector).offset() = 'undefined'
    alert( jQuery(selector).offset().left );

2 个答案:

答案 0 :(得分:0)

jQuery('p').each(function() { 
    console.log(this.offsetLeft);
});

通过使用它,我可以为每个p(在你的情况下是集合)留下偏移量。

答案 1 :(得分:0)

我认为问题在于您传递的是String 对象而不是原始字符串,而jQuery无法检测到这一点。

尝试:

var selector = this.selector;