DOM操作
.attr()与.removeAttr()方法,两个方法都可以修改元素的属性,但是其与.css()方法不同,如,前者可以修改id这些的,可是后者无法做到,而且修改出来的形式不同,前者是以id="xx"的形式,后者是 style ='font:xx'的形式。
.each()方法是for循环的一种更简洁的形式,例:$('xxx').each(function(index){.......});其中xxx是那种可以筛选出多个结果(重复的id那类是无法循环的,jQuery中只会认准第一个的),index类似于一个计数器,第一个数是0,然后接下来的数都是以index++方式递增,直到结束(在jQuery中:nth-child()是唯一一个从1开始计数的选择符)。
工厂函数$()的另外一个用处,构建一个新的节点,只要把一个节点的完整结构写入工厂函数中,那么jQuery就会创建,但是还未加入dom树中,其需要通过dom操作将构建的新节点加入。
jQuery中的dom操作方法归纳:
1)在每个匹配的元素中插入新元素(标签内)
1.结尾插入:.append()与.appendTo()(前者可以使用函数)
2.开头插入:.prepend()与prependTo()(同上)
2)在每个匹配的元素相邻的位置插入新元素(就像同父的新增兄弟节点)
1.后面插入:.after()与.insertAfter()(前者是括号中填入插入的节点,后者填被插入的节点)
2.前面插入:.before()与.insertBefore()(同上)
3)在每个匹配的元素外部插入新元素(就是将新节点包裹住要插入的节点)
4)用新元素或文本代替每个匹配的元素
1.无参(获取内容):.html()与.text()(前者若内容中还有标签,那么其会连标签一并输出,后者只会输出内容不会输出标签;前者只会选择第一个,而后者会选择所有符合条件的)
2.有参(设置每一个匹配元素的html内容):.html()与.text()(参考此处)
3.连同筛选元素一同代替:.replaceWith()()
5)移除每个匹配的元素中的元素
.empty()(参考此处)
6)从文档中移除每个匹配的元素及其后代元素,
.remove()