通过CSS选择器获取元素的方式是非常灵活的,但是CSS选择器获取元素后只能操作该元素的样式,要想为元素添加行为(如处理单击事件),还需要通过JavaScript代码来实现。为此,jQuery 模仿CSS选择器实现了jQuery选择器,通过jQuery选择器来获取元素,不仅让获取元素的方式更加多样化,而且可以在获取元素后为元素添加行为。
jQuery选择器的基本语法格式如下所示。
$(selector);
上述代码中,selector代表jQuery选择器,代码执行后,返回一个jQuery对象。
接下来通过与CSS选择器对比的方式演示jQuery选择器的基本用法。具体操作步骤如下所示。
(1)准备页面结构
<div id="myDiv">我是一个div</div>
(2)通过CSS添加样式
#myDiv { border: 1px solid black;}
上述代码中,使用CSS选择器获取id值为myDiv的div元素,并为div元素添加样式,页面效果如下图所示。
(3)通过jQuery添加样式
在不使用CSS代码的情况下,使用jQuery代码也可以实现和上图相同的效果,如下所示。
$('#myDiv').css('border', '1px solid black');
上述代码中,使用jQuery选择器获取id值为myDiv的div元素,然后调用jQuery的css()方法为该元素添加样式。 需要注意的是,使用jQuery选择器获取元素后,由于返回的是jQuery对象,所以不仅能为元素添加样式,而且支持为元素添加行为。例如,为元素绑定事件、操作元素属性等操作。此处只要了解jQuery选择器的使用即可。
不使用jQuery选择器的情况下,开发者经常通过JavaScript来获取DOM元素,示例代码如下所示。
// 根据id值获取元素document.getElementById('id的值');// 根据元素的名称获取元素document.getElementsByTagName('元素的名称');
与上述代码不同的是,jQuery 选择器获取元素对象的方式更加简洁,如下所示。
// 根据id值获取元素$('#id的值');// 根据元素的名称获取元素$('元素的名称');
实际上jQuery选择器的出现不仅是为了简化JavaScript的写法,也是由于JavaScript提供的选择DOM的方式较少,难以满足实际开发的众多需求。因此,jQuery 选择器中提供了更多选择DOM的方式,支持从CSS1到CSS3所有的选择器以及其他常用的选择器。