60个很实用的jQuery代码开发技巧收集

2020-05-19 07:36:18易采站长站整理

由于内容比较多建议用CTRL+F搜索

偶然在网上看到这些不错的jQuery代码开发技巧。原文收集了30个,另外查找的时候发现了还有20个。加上另外十个实用的jQuery代码片段,共60个代码技巧,收集在一起分享给大家。

1. 创建一个嵌套的过滤器


.filter(":not(:has(.selected))") //去掉所有不包含class为.selected的元素

2. 重用你的元素查询

var allItems = $("div.item");
var keepList = $("div#container1 div.item");
<div>class names:
$(formToLookAt + " input:checked").each(function() { keepListkeepList = keepList.filter("." + $(this).attr("name")); });
</div>

3. 使用has()来判断一个元素是否包含特定的class或者元素

//jQuery 1.4.* includes support for the has method. This method will find
//if a an element contains a certain other element class or whatever it is
//you are looking for and do anything you want to them.
$("input").has(".email").addClass("email_icon");

4. 使用jQuery切换样式

//Look for the media-type you wish to switch then set the href to your new style sheet
$('link[media='screen']').attr('href', 'Alternative.css');

5. 限制选择的区域

//Where possible, pre-fix your class names with a tag name
//so that jQuery doesn't have to spend more time searching
//for the element you're after. Also remember that anything
//you can do to be more specific about where the element is
//on your page will cut down on execution/search times
var in_stock = $('#shopping_cart_items input.is_in_stock');


<ul id="shopping_cart_items">
<li>
<input value="Item-X" name="item" class="is_in_stock" type="radio"> Item X</li>
<li>
<input value="Item-Y" name="item" class="3-5_days" type="radio"> Item Y</li>
<li>
<input value="Item-Z" name="item" class="unknown" type="radio"> Item Z</li>
</ul>

6. 如何正确使用ToggleClass

//Toggle class allows you to add or remove a class
//from an element depending on the presence of that
//class. Where some developers would use:
a.hasClass('blueButton') ? a.removeClass('blueButton') : a.addClass('blueButton');
//toggleClass allows you to easily do this using
a.toggleClass('blueButton');

7. 设置IE指定的功能