在jQuery中确定如此;
我有一个选择器$("#gmap")
我想在我的选择器的上下文中做很多代码。我一直懒惰并使用.each(),即使只有其中一个。
$("#gmap321654987789").each(function(){
$(this).....
});
这特别有效吗?我讨厌感觉不对的代码。
是否存在说...或类似的机制。
$("#gmap321654987789").this(function(){
$(this).....
});
答案 0 :(得分:2)
如果他们只有一个(应该是因为你是通过id选择),你可以链接方法$("#gmap").val("new").attr('someattr','')
等。
答案 1 :(得分:1)
你可以:
var myElement = $("#gmap321654987789");
myElement....
答案 2 :(得分:1)
只需缓存对象并像平常一样使用它:
var $gmap = $('#gmap321654987789'); // Get your jQuery object
console.log($gmap);
console.log($gmap.text());
答案 3 :(得分:0)
您也可以在JS中尝试“with”,这样您就可以专注于对象的属性。
答案 4 :(得分:0)
试试这个(未经测试的)
(function($){
$.fn.me = function(func) {
func.call(this[0]);
return this;
}
})(jQuery);
并使用:
$("#gmap321654987789").me(function(){
this.innerHTML = 'edited';
}).css('border')....
答案 5 :(得分:0)
也许是功能模式?也许您可以将实现减少到一个或多个方法,甚至只需一个参数化方法。
$.fn.doThingsToAMap = function() {
$(this).doThis();
$(this).doThat();
return this;
};
$("#gmap321654987789").doThingsToAMap();