webveuje/js/kejian/jqdom.md
2021-03-23 10:58:10 +08:00

97 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# dom
## jq操作dom
* 查询元素并获取元素的值
查询元素:
* 根据标签选取:$('目标标签')
* 根据class选取$('.类名')
* 根据id选取$('#id值')
* 根据属性选取 $('[目标属性]')
获取值:
* element.html() 也就是从对象的起始位置到终止位置的全部内容,包括Html标签。
* element.text() 也就是从对象的起始位置到终止位置的全部内容,去除Html标签。
* element.val() 返回表单字段的值
demo:
html:
<html>
<head>
<title>标题</title>
</head>
<body>
<div>提瓦特大陆最好吃的食物是派蒙嗷!</div>
</body>
</html>
js:
```
var str=$('div').text() //提瓦特大陆最好吃的食物是派蒙嗷!
```
获取属性值:
eg:
str=$('p')
var attr=str.attr('name')
document.write($('#image').attr('href'))
* 删除元素 自身
element.remove()
* 修改元素
* 修改元素的文本内容
* element.text('修改后的文本内容')
* elenment.html("\<p>修改后的文本内容\</p>")
* 修改元素的属性
element.setAttribute('属性名','属性值')
eg:
var myele=document.createElement('div')
myele.setAttribute('class','box')
* <p style="color:red;font-weight:bold">创建元素:</p>
* 创建新的html节点
$('要创建的标签名')
* 为新创建的节点添加文本内容
element.html('想要添加的文本内容')
element.text('想要添加的文本内容')
* 为新创建的添加属性及属性值
方法一: element.attr('属性名','属性值')
* 查找一个现有的元素(新元素的父级元素)
* 向已有的元素追加新元素
* fuelement.append(创建的新元素)
demo:
```
var box =$('div')
box.text('happy new year')
box.attr('style', 'width:100px;height:100px;background:red;color:white')
var main = document.body
main.append(box)
```
追加元素的方式:
* append(),在父级最后追加一个子元素
* appendTo(),将子元素追加到父级的最后
* prepend(),在父级最前面追加一个子元素
* prependTo(),将子元素追加到父级的最前面
* after(),在当前元素之后追加(是同级关系)
* before(),在当前元素之前追加(是同级关系)
* insertAfter(),将元素追加到指定对象的后面
* insertBefore(),将元素追加到指定对象的前面
```