jquery中的dom操作
程序员文章站
2022-05-04 11:25:18
...
1.创建元素节点
(1)创建两个<li>新元素
(2)将这两个元素插入文档中
可以使用jquery的工厂函数$()来完成,格式如:
2.创建文本节点
3.创建属性节点
复制节点(被复制的新元素不具备任何行为)
ul元素中
如果在复制元素的同时复制元素中所绑定的事件要在clone()中传递一个参数
替换节点
replaceWith()和replaceAll();
以上两行代码效果相同,replaceAll()只是颠倒了replaceWith()操作.
被替换后,绑定在该元素上的事件也一起消失
包裹节点
warp():
如果要将某个节点用其他标记包裹起来,jquery提供了wrap()方法
wrapAll():
该方法会将所有匹配的元素用一个元素来包裹,而wrap()是将所有的元素进行单
独的包裹
wrapInner():
该方法将每一个匹配元素的子内容(包括文本节点)用其他结构化标签包裹起来
属性操作
jquery中,用attr()方法来获取和设置元素属性,removeAttr()来删除元素属性
1.获取属性和设置属性
属性值
2.删除属性
样式操作
1.获取样式和设置样式
设置<p>元素的class:
2.追加样式
3.移除样式
删除多个
4.切换样式
5.判断是否含有某个样式
有 返回true,否则返回false
设置和获取html、文本和值
1.html()方法
类似于js中的innerHTML,用来读取或设置某个元素中的html内容
设置某元素的html
2.text()方法
类似于js中的innerText属性,用来读取或设置某个元素中的文本内容
3.val()方法
类似于js中的value属性,可以用来设置和获取元素的值。无论元素是文本框,
下拉框还是单先框,都可以返回元素的值。如元素为多选,则返回一个包含所有
选择的值的数组。
遍历节点
1.children()方法
用于取得匹配元素的子元素集合
$("body").childern();
children()只考虑子元素而不考虑任何后代元素
2.next()方法
用于取得匹配元素后面紧邻的同辈元素
3.prev()方法
用于取得匹配元素前面紧邻的同辈元素
4.siblings()方法
用于取得匹配元素前后所有的同辈元素
5.closest()方法
取是最近的匹配元素
CSS-DOM操作
用来读取和设置style对象的各种属性
无论color属性是外部css导入,还是直接拼接在html元素里(内联),css()方
法都可以获取属性style里的其他属性的值.
1.offset()方法
获取元素的当前视窗的相对偏移,其中返回的对象包含两个属性,top和left,
它只对可见元素有效
2.position()方法
获取元素相对于最近的一个position样式属性设置为relative或absolute的祖父
节点的相对偏移,与offset()一样,它返回的对象也包括两个属性,即top left
3.scrollTop() 和scrollLeft()
获取元素的滚动条距顶端的距离和距左侧的距离
var $p = $("p");
var scrollTop = $p.scrollTop();
var scrollLeft = $p.scrollLeft();
也可指定参数,控制元素的滚动条滚动到指定位置。
$("textarea").scrollTop(300);
$("textarea").scrollLeft(300);
(1)创建两个<li>新元素
(2)将这两个元素插入文档中
可以使用jquery的工厂函数$()来完成,格式如:
$(html); //会根据传入的html标记字符串,创建一个dom对象,并将这个dom对
象包装成一个jquery对象后返回
var $li_1=$("<li></li>");
var $li_2=$("<li></li>");
将这两个新元素插入文档中
$("ul").append($li_1);
$("ul").append($li_2);
2.创建文本节点
var $li_1=$("<li>test1</li>");
var $li_2=$("<li>test2</li>");
$("ul").append($li_1);
$("ul").append($li_2);
3.创建属性节点
var $li_1=$("<li title="test1">test1</li>");
var $li_2=$("<li title="test2">test2</li>");
$("ul").append($li_1);
$("ul").append($li_2);
复制节点(被复制的新元素不具备任何行为)
$("ul li")click(function(){
$(this).clone().appendTo("ul"); //复制当前单击的节点,并添加到
ul元素中
如果在复制元素的同时复制元素中所绑定的事件要在clone()中传递一个参数
true:clone(true);
替换节点
replaceWith()和replaceAll();
$('p').replaceWith('<stong>xxxx</stong>');
$('<stong>xxxx</stong>').replaceAll('p');
以上两行代码效果相同,replaceAll()只是颠倒了replaceWith()操作.
被替换后,绑定在该元素上的事件也一起消失
包裹节点
warp():
如果要将某个节点用其他标记包裹起来,jquery提供了wrap()方法
$("strong").wrap("<b></b>");//用<b>标签把<strong>包裹起来
得到的结果:
<b><strong title="test">test1</strong></b>
wrapAll():
该方法会将所有匹配的元素用一个元素来包裹,而wrap()是将所有的元素进行单
独的包裹
$("strong").wrapAll("<b></b>");
得到的结果:
<b>
<strong title="test">test1</strong>
<strong title="test">test1</strong>
</b>
wrapInner():
该方法将每一个匹配元素的子内容(包括文本节点)用其他结构化标签包裹起来
$("strong").wrapInner("<b></b>");
<strong title="test"><b>test1</b></strong>
属性操作
jquery中,用attr()方法来获取和设置元素属性,removeAttr()来删除元素属性
1.获取属性和设置属性
var $para = $("p"); //获取p节点
var p_t = $para.attr("title"); //获取p节点的属性title
$("p").attr("title","your title"); //设置属性
$("p").attr({"title":"your title","name":"test"});//为同一元素设置多个
属性值
2.删除属性
$("p").removeAttr("title");
样式操作
1.获取样式和设置样式
html:
<p class="myClass" title="test">i love this game</p>
通过attr()来获取<p>元素的class:
var p_class = $("p").attr("class");
设置<p>元素的class:
$("p").attr("class","hight");
在多数情况下,它会将原来的class替换为新的class,而不是在原来的基础上追
加class
结果:
<p class="hight" title="test">i love this game</p>
2.追加样式
addClass()方法来追加样式
$("p").addClass("hight");
结果
<p class="myClass hight" title="test">i love this game</p>
3.移除样式
$("p").removeClass("high");
删除多个
$("p").removeClass("myClass").removeClass("another");
$("p").removeClass("myClass another");
$("p").removeClass();
4.切换样式
$("p").toggleClass("hight");
当切换后<p>由
<p class="myClass" title="test">i love this game</p>
变为:
<p class="myClass hight" title="test">i love this game</p>
再次切换后:
<p class="myClass" title="test">i love this game</p>
5.判断是否含有某个样式
有 返回true,否则返回false
$("p").hasClass("another");//jquery内部实际上调用了is()方法来完成这功
能is(".another")
设置和获取html、文本和值
1.html()方法
类似于js中的innerHTML,用来读取或设置某个元素中的html内容
var p_html = $("p").html();
结果:
<p class="myClass" title="test"><strong>i love this game</strong></p>
设置某元素的html
$("p").html("<strong>i test</strong>");
2.text()方法
类似于js中的innerText属性,用来读取或设置某个元素中的文本内容
<p class="myClass" title="test"><strong>i love this game</strong></p>
var p_text=$("p").text();
结果:
i love this game
3.val()方法
类似于js中的value属性,可以用来设置和获取元素的值。无论元素是文本框,
下拉框还是单先框,都可以返回元素的值。如元素为多选,则返回一个包含所有
选择的值的数组。
遍历节点
1.children()方法
用于取得匹配元素的子元素集合
$("body").childern();
children()只考虑子元素而不考虑任何后代元素
2.next()方法
用于取得匹配元素后面紧邻的同辈元素
3.prev()方法
用于取得匹配元素前面紧邻的同辈元素
4.siblings()方法
用于取得匹配元素前后所有的同辈元素
5.closest()方法
取是最近的匹配元素
CSS-DOM操作
用来读取和设置style对象的各种属性
$("p").css("color"); //获取<p>元素的样式颜色
无论color属性是外部css导入,还是直接拼接在html元素里(内联),css()方
法都可以获取属性style里的其他属性的值.
$("p").css("color","red");//设置<p>元素的样式颜色为红色
1.offset()方法
获取元素的当前视窗的相对偏移,其中返回的对象包含两个属性,top和left,
它只对可见元素有效
var offset = $("p").offset();
var left = offset.left;
var top = offset.top;
2.position()方法
获取元素相对于最近的一个position样式属性设置为relative或absolute的祖父
节点的相对偏移,与offset()一样,它返回的对象也包括两个属性,即top left
var position = $("p").position();
var left = position.left;
var top = position.top;
3.scrollTop() 和scrollLeft()
获取元素的滚动条距顶端的距离和距左侧的距离
var $p = $("p");
var scrollTop = $p.scrollTop();
var scrollLeft = $p.scrollLeft();
也可指定参数,控制元素的滚动条滚动到指定位置。
$("textarea").scrollTop(300);
$("textarea").scrollLeft(300);
上一篇: 简单爬虫程序
下一篇: pyinstaller打包爬虫程序