Это, но не $ (это) - PullRequest
       29

Это, но не $ (это)

0 голосов
/ 20 января 2011

ОК, поэтому в jQuery;

У меня есть селектор $("#gmap")

Я хочу сделать много кода в контексте моего селектора.Я всегда был ленивым и использовал .each (), хотя есть только один из них.

$("#gmap321654987789").each(function(){
 $(this).....
});

Это особенно эффектно?Я ненавижу код, который не кажется «правильным».

Есть ли механизм, чтобы сказать ... или что-то подобное.

$("#gmap321654987789").this(function(){
 $(this).....
});

Ответы [ 6 ]

2 голосов
/ 20 января 2011

хорошо, если есть только один из них (должно быть, потому что вы выбираете по id), вы можете просто цепочкой методов $("#gmap").val("new").attr('someattr','') .etc

1 голос
/ 20 января 2011

Просто кешируйте объект и работайте с ним как обычно:

var $gmap = $('#gmap321654987789'); // Get your jQuery object
console.log($gmap);
console.log($gmap.text());
1 голос
/ 20 января 2011

Вы можете просто:

var myElement = $("#gmap321654987789");
myElement....
0 голосов
/ 20 января 2011

Может быть, шаблон функции?Возможно, вы могли бы сократить свою реализацию до одного или нескольких методов или даже до одного параметризованного метода.

$.fn.doThingsToAMap = function() {
    $(this).doThis();
    $(this).doThat();
    return this;
};


$("#gmap321654987789").doThingsToAMap();
0 голосов
/ 20 января 2011

попробуйте это (не проверено)

(function($){
    $.fn.me = function(func) {
        func.call(this[0]);
        return this;    
    }
})(jQuery);

и используйте с:

$("#gmap321654987789").me(function(){
    this.innerHTML = 'edited';
}).css('border')....
0 голосов
/ 20 января 2011

Вы также можете попробовать «с» в JS, чтобы сосредоточиться на свойствах вашего объекта.

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