Сохранение и вызов селекторов jQuery - PullRequest
1 голос
/ 19 октября 2011

У меня есть приложение, которое сохраняет выбранный селектор jQuery для последующего использования, и у меня возникает забавная проблема, когда я пытаюсь вызвать этот селектор. Ниже мой код для справки. Это функция обратного вызова для вызова AJAX, которая возвращает объект JSON, сохраненный в data. Я проверил, что данные передаются правильно, но похоже, что попытка использовать строку в качестве селектора в 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 голосов
/ 19 октября 2011

Я предполагаю, что проблема в том, что вы передаете String объект вместо примитивной строки , и jQuery не может обнаружить это.

Попробуйте:

var selector = this.selector;
0 голосов
/ 19 октября 2011
jQuery('p').each(function() { 
    console.log(this.offsetLeft);
});

Используя это, я могу получить смещение влево для каждого p (коллекция в вашем случае).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...