jq使用技巧

1. 如何创建嵌套的过滤器

//允许你减少集合中的匹配元素的过滤器,  
//只剩下那些与给定的选择器匹配的部分。在这种情况下,  
//查询删除了任何没(:not)有(:has)  
//包含class为“selected”(.selected)的子节点。.filter(":not(:has(.selected))")

2. 如何重用元素搜索

var allItems = $("div.item");  
var keepList = $("div#container1 div.item"); //现在你可以继续使用这些jQuery对象来工作了。例如,  
//基于复选框裁剪“keep list”,复选框的名称  
//符合      
<DIV>
class names:
$(formToLookAt + " input:checked").each(function() {  
 keepList = keepList.filter("." + $(this).attr("name"));  
});   
</DIV>

3. 任何使用has()来检查某个元素是否包含某个类或是元素

//jQuery 1.4.*包含了对这一has方法的支持。该方法找出  
//某个元素是否包含了其他另一个元素类或是其他任何的  
//你正在查找并要在其之上进行操作的东东。$("input").has(".email").addClass("email_icon");

4. 如何使用jQuery来切换样式表

//找出你希望切换的媒体类型(media-type),然后把href设置成新的样式表。  
$('link[media='screen']').attr('href', 'Alternative.css');
 
5. 如何限制选择范围(基于优化目的)
//尽可能使用标签名来作为类名的前缀,  
//这样jQuery就不需要花费更多的时间来搜索  
//你想要的元素。还要记住的一点是,  
//针对于你的页面上的元素的操作越具体化,  
//就越能降低执行和搜索的时间。
var in_stock = $('#shopping_cart_items input.is_in_stock');
<ul id="shopping_cart_items">
 <li><input type="radio" value="Item-X" name="item" class="is_in_stock" />Item X</li>
 <li><input type="radio" value="Item-Y" name="item" class="3-5_days" />Item Y</li>
 <li><input type="radio" value="Item-Z" name="item" class="unknown" />Item Z</li>
</ul>
 
6. 如何正确地使用ToggleClass
//切换(toggle)类允许你根据某个类的  
//是否存在来添加或是删除该类。  
//这种情况下有些开发者使用:a.hasClass('blueButton') ? a.removeClass('blueButton') : a.addClass('blueButton');
//toggleClass允许你使用下面的语句来很容易地做到这一点  
a.toggleClass('blueButton');
 
7. 如何设置IE特有的功能
if ($.browser.msie) {
// Internet Explorer其实不那么好用  
}
 
8. 如何使用jQuery来代替一个元素    
$('#thatdiv').replaceWith('fnuh');
 

9. 如何验证某个元素是否为空

if ($('#keks').html()) {
//什么都没有找到;  
}
 
10. 如何从一个未排序的集合中找出某个元素的索引号    
$("ul > li").click(function () {
 var index = $(this).prevAll().length;
});
上一篇:fiddler修改Requests之前的数据和response 之后的数据


下一篇:Web Components初探