在这段代码中,ready事件是处理HTML文档的开始,jQuery会在DOM载入后开始执行事件,可以由多个ready事件,jQuery会生成一个由ready事件组成的readyList,然后在DOM载入后开始按照list中的顺序,执行所有的ready事件。
特别值得注意的是,$(”a”) 正是一个jQuery选择器!!!现在,它选择所有的a标签,$号是jQuery “类”(jQuery “class”)的一个别称(jQuery里的代码:var $ = jQuery;),因此$()构造了一个新的jQuery对象(jQuery object)。函数click()是这个jQuery对象的一个方法,它绑定了一个单击事件到所有选中的标签(这里是所有的a标签),并在事件触发时执行了它所提供的alert方法。该段代码等同于在所有标签里面加上onclick事件。和LINK效果相同。
归纳来看,函数$(...)主要有如下四种类型的传入参数:
1.$(html)--根据提供的原始HTML标记字符串,动态创建由jQuery对象包装的DOM元素。例:$(”
Hello
2. $(elements)--为一个或多个DOM元素捆绑jQuery功能。这个函数也可以接收XML文档和Window对象作为有效的参数。例:一段HTML代码如下: one
two
three
two
3.$(fn)--$(document).ready()的简写方式,允许你绑定一个在DOM文档载入完成后执行的函数。
4.$(expr, context)--第二个参数是可选的。如果不指定范围,jQuery会把范围指定为整个document()。这个函数接收一个包含CSS或基本的XPath选择符的字符串,然后用这个字符串去匹配一组元素。jQuery的核心功能都是通过这个函数实现的。这个函数最基本的用法就是向它传递一个表达式,然后根据这个表达式来查询所有匹配的元素。例:$(”input:radio”, document.forms[0]),其作用是在文档的第一个表单中,搜索type值为radio的input元素。
在jQuery的官方支持网站http://docs.jquery.com/DOM/Traversing/Selectors处还有更多关于选择器的大量的例子供你参考。
下面选出几个比较有代表的例子,再看看:
[例一]
$(document).ready(function() {
$(”li”).not(”[ul]“).css(”border”, “1px solid black”);
});
其中,not()则用来取消所有符合过滤表达式的被选择项。上面的代码选择所有的没有ul子元素的li元素,然后再加给选中的元素上一个宽度1像素的边。
[例二]
$(document).ready(function() {
$(”a[@name]“).background(”red”);
});
选择所有的带有name属性的链接,并修改其颜色。
[例三]$(”a[@href*=/content/gallery]“).click(function() {
// do something with all links that point somewhere to /content/gallery
});
});
其中“*=”的意思是部分匹配。$(’#faq’).find(’dd’).hide().end().find(’dt’).click(function() {
var answer = $(this).next();
if (answer.is(’:visible’)) {
answer.slideUp();
} else {
answer.slideDown();
}
});
});
利用end()方法,第一次find()方法会结束(undone),所以我们可以接着在后面继续find(’dt’),而不需要再写$(’#faq’).find(’dt’)。这段代码将所有的dd节点隐藏,并在dt节点上加上对应的事件。slideUp和slideDown是jQuery节点的库函数,能改变选中的节点的display属性。
三、小结来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9474419/viewspace-469886/ ,如需转载,请注明出处,否则将追究法律责任。