日期:2014-05-16 浏览次数:20411 次
1. 创建一个嵌套的过滤器
.filter(":not(:has(.selected))") //去掉所有不包含class为.selected的元素
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>
//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"
);
//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');
//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>
//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');
if ($.browser.msie) { // Internet Explorer is a sadist. }
$('#thatdiv').replaceWith('fnuh');
if ($('#keks').html()) { //Nothing found ;}
$("ul > li").click(function () {
var index = $(this).prevAll().length;
});
$('#foo').bind('click', function() {
alert('User clicked on "foo."');
});
$(
'#lal'
).append(
'sometext'
);
var e = $("", { href: "#", class: "a-class another-class", title: "..." });
//This precision-based approached can be useful when you use
//lots of similar input elements which have different types
var elements = $('#someid input[type=sometype][value=somevalue]').get();
jQuery.preloadImages = function() { for(var i = 0; i').attr('src', arguments[i]); } };
// Usage $.preloadImages('image1.gif', '/path/to/image2.png', 'some/image3.jpg');
$('button.someClass').live('click', someFunction);
//Note that in jQuery 1.4.2, the delegate and undelegate options have been
//introduced to replace live as they offer better support for context
//For example, in terms of a table where before you would use..
// .live()
$("table").each(function(){
$("td", this).live("hover", function(){
$(this).toggleClass("hover");
});
});
//Now use..
$("table").delegate("td", "hover", function(){
$(this).toggleClass("hover");
});