## 一、jQuery获取和操作元素属性 DOM中有很多方式获取元素,比如通过id,通过标签名,通过类名,通过name的值,通过选择器等方式。 **在 jQuery 中就只有一种方式:`$("选择器")`** ### 1、基本选择器 #### 1.1、id 选择器 **语法:** ` $("#id选择器的值")` ```js $(function () {// 页面加载 $("#btn").click(function () { console.log($(this).val()); $(this).val("改变按钮"); // this.value = "改变按钮"; }); }); ``` > 注意:this 是DOM对象。 > > this.value = "改变按钮"; // 是DOM的写法,没问题。 > > **PS:jQuery 中使用 `jQuery对象.val("内容")` 来设置表单标签的 value 属性。** #### 1.2、标签选择器 **语法:** `$("标签名")` ```js $(function () {// 页面加载 $("#btn").click(function () { $("p").text("桃花依旧笑春风"); }); }); ``` > **1、jQuery 中的 `.text()` ,如果括号中没有值的话,是获取文本内容;如果有值的话,就是设置文本内容。** > > 2、 $("p") 是获取所有的 p 标签,然后全部设置文本内容,我们并没有循环设置,但是全部的 p 标签的文本内容都改变了,这是 jQuery 内部自动循环了,这就是隐式迭代。 #### 1.3、类选择器 **语法:**`$(".类型选择器")` ,注意前面的点。 ```js $(function () { // 页面加载 $("#btn").click(function () { $(".cls").css("border", "1px solid red"); }); }); ``` > 点击按钮设置应用了 cls 类选择器的标签的边框样式。 > > **PS:jQuery中使用 `jQuery对象.css("属性":"值");` 的方式设置标签的样式。** #### 1.4、并集选择器 **语法:**`$("div,p,span")`,中间使用逗号隔开。 > 如果上面的 div 有 id 选择器 dv;span 有类选择器 cls; > > 上面的写法也可以这样写: `$("#dv, p, .cls")` #### 1.5、交集选择器 **语法:**`$("div.cls")` > 标签名 + 类样式的方式。 > > // 选择所有div标签中class属性名为.cls的所有div元素。 #### 1.6、后代选择器 **语法:**`$("div ul span")` > 选择 div 下面所有 ul 下的所有的 span 标签,不包括 div 下面的 span,必须在 ul 里面。 #### 1.7、子代选择器 **语法:**`$("div>span")` >选择 div 的直接下一代的所有span,不能隔代。 #### 1.8、兄弟选择器 **语法:**`$("div~span")` > 选择的是 div **后面**的所有兄弟标签为 span 的标签。 #### 1.9、直接兄弟选择器 **语法:**`$("div+span")` > 选择的是div **后面**的直接兄弟标签,如果这个直接兄弟为 span 标签则选中,如果为其他标签则不选中。 **案例:隔行变色** ```html // body 主要内容