jQuery 属性操作
jQuery 常用属性操作有两种:prop() / attr() ;
固有属性值
所谓元素固有属性就是元素本身自带的属性,比如 <a>
元素里面的 href ,比如 <input>
元素里面的 type。
语法
1.获取属性语法
js
prop("属性");
2.设置属性语法
js
prop("属性", "属性值");
注意:prop() 除了普通属性操作,更适合操作表单属性:disabled / checked / selected 等。
案例代码
html
<form action="" data-id="1">
<div>
<label for="name">请输入姓名</label>
<input type="text" name="" id="name" />
</div>
<div>
<a href="http://www.baidu.com" title="百度">百度</a>
</div>
<div>
请选择性别:
<label>男<input type="radio" name="gender" value="man" /></label>
<label
>女<input type="radio" name="gender" value="woman" checked="checked"
/></label>
<label>其他<input type="radio" name="gender" value="none" /></label>
</div>
</form>
<div class="div"></div>
javascript
$(function () {
/*获取元素固有的属性值*/
// 1. element.prop("属性名") 获取元素固有的属性值
console.log("a.href:\t", $("a").prop("href"));
// 两个值会就给元素设置值
$("a").prop("title", "我们都挺好");
// 监听按钮切换获取 radio 的值
$('[name="gender"]').change(function () {
console.log("input.value:\t" + $(this).prop("value"));
});
});
自定义属性值
用户自己给元素添加的属性,我们称为自定义属性。 比如给 div 添加 index ="1"
。
语法
1、获取属性语法
js
attr("属性"); // 类似原生 getAttribute()
2、设置属性语法
js
attr("属性", "属性值"); // 类似原生 setAttribute()
该方法也可以获取H5自定义属性
注意:attr() 除了普通属性操作,更适合操作自定义属性。(该方法也可以获取 H5 自定义属性)
演示代码
html
<a href="http://www.baidu.com" title="都挺好">都挺好</a>
<input type="checkbox" name="input" checked="checked" />
<div index="1" data-index="2">我是div</div>
<span>123</span>
javascript
$(function () {
// attr 元素的自定义属性
$("div").attr("index", 2);
console.log("div.index:\t", $("div").get(0));
});
文本属性值
jQuery 的文本属性值常见操作有三种:html() / text() / val() ; 分别对应JS中的 innerHTML 、innerText 和 value 属性。
jQuery 内容文本值
常见操作有三种:html() / text() / val() ; 分别对应 JS 中的 innerHTML 、innerText 和 value 属性,主要针对元素的内容还有表单的值操作。
语法
1、普通元素内容 html ( 相当于原生 inner HTML)
JavaScript
html() //获取元素的内容
html("内容") // 设置元素的内容
2、普通元素文本内容 text( (相当与原生 innerText )
JavaScript
text() //获取元素的文本内容
text("文本内容") // 设置元素的文本内容
3、表单的值 val()
(相当于原生 value )
JavaScript
val() //获取表单的值
val("内容") // 设置表单的值
注意:html()
可识别标签,text()
不识别标签。
演示代码
html
<div>
<span>正心老师</span>
</div>
<input type="text" value="请输入内容" />
javascript
// 1. 获取设置元素内容 html()
console.log("div.html:\t", [$("div").html()]);
$("div").html("正心全栈编程");
// console.log('div.html:\t', [$('div').html()])
// 2. 获取设置元素文本内容 text()
console.log("div.text:\t", [$("div").text()]);
$("div").text("正心全栈编程");
console.log("div.text:\t", [$("div").text()]);
// 3. 获取设置表单值 val()
console.log("input.value:\t", [$("input").val()]);
$("input").val("正心全栈编程");
// 数据同步
$("input").change(function () {
$("div").text($(this).val());
});