jQuery学习笔记1(4)—— 操作DOM

1、修改Text和HTML

        jQuery对象的text()html()方法分别获取节点的文本和原始HTML文本。

        无参数调用text()是获取文本,传入参数就变成设置文本,HTML也是类似操作。

        一个jQuery对象可以包含0个或任意个DOM对象,它的方法实际上会作用在对应的每个DOM节点上。

2、修改CSS

        jQuery对象有“批量操作”的特点,这用于修改CSS实在是太方便了。调用jQuery对象的css('name', 'value')方法。

        jQuery对象的所有方法都返回一个jQuery对象(可能是新的也可能是自身),这样我们可以进行链式调用,非常方便。

3、显示和隐藏DOM

        要隐藏一个DOM,我们可以设置CSS的display属性为none,利用css()方法就可以实现。不过,要显示这个DOM就需要恢复原有的display属性,这就得先记下来原有的display属性到底是block还是inline还是别的值。

        考虑到显示和隐藏DOM元素使用非常普遍,jQuery直接提供show()hide()方法。

        隐藏DOM节点并未改变DOM树的结构,它只影响DOM节点的显示。这和删除DOM节点是不同的。

4、获取DOM信息

        利用jQuery对象的若干方法,我们直接可以获取DOM的高宽等信息,而无需针对不同浏览器编写特定代码:

// 浏览器可视窗口大小:
$(window).width(); // 800
$(window).height(); // 600

// HTML文档大小:
$(document).width(); // 800
$(document).height(); // 3500

// 某个div的大小:
var div = $('#test-div');
div.width(); // 600
div.height(); // 300
div.width(400); // 设置CSS属性 width: 400px,是否生效要看CSS是否有效
div.height('200px'); // 设置CSS属性 height: 200px,是否生效要看CSS是否有效

        attr()removeAttr()方法用于操作DOM节点的属性:

// <div id="test-div" name="Test" start="1">...</div>
var div = $('#test-div');
div.attr('data'); // undefined, 属性不存在
div.attr('name'); // 'Test'
div.attr('name', 'Hello'); // div的name属性变为'Hello'
div.removeAttr('name'); // 删除name属性
div.attr('name'); // undefined

        prop()方法和attr()类似,但是HTML5规定有一种属性在DOM节点中可以没有值,只有出现与不出现两种,例如:checked和selected。

        attr()prop()对于属性checked处理有所不同:

var radio = $('#test-radio');
radio.attr('checked'); // 'checked'
radio.prop('checked'); // true

        prop()返回值更合理一些。不过,用is()方法判断更好:

var radio = $('#test-radio');
radio.is(':checked'); // true

5、操作表单

        对于表单元素,jQuery对象统一提供val()方法获取和设置对应的value属性,一个val()就统一了各种输入框的取值和赋值的问题。

https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434500494451273e6b3dec9d411d9ba841dee8caec45000

发布了120 篇原创文章 · 获赞 30 · 访问量 35万+

猜你喜欢

转载自blog.csdn.net/yjh4866/article/details/84789849