html jQuery 给input赋值问题
$.attr('value', '123')这里的value是指元素节点上的属性值,即DOM节点上的属性值;
而$.val('123')是input的属性值,当其value值被赋值时则是通过setter方法定义的。
例如:<input id="s1" type="" name="" value="2">
这个value="2"和input的value值是两个概念。
value="2"是DOM结点上的属性值,如果想改变这个属性值,需要这样操作$("#s1").attr("value","123"),这个属性值是可见的。
input上的值是它本身的value值,如果想获取则是$.val(),如果想赋值则用$.val('123')。
改变或者获取<input>、<textarea>、<select>、<option>、<button>的值都是用val(),改变或者获取DOM节点上的属性值,则用attr()
自己多试试就理解了。
2019-01-14
input表单的赋值方法一般情况都是用“选择器.val("值")”,很少用“选择器.attr("属性名","属性值")”,“选择器.val("值")”是表单的专属赋值和取值的方法,用在其他的节点没有用比如“<a></a>“,”<div></div>”等这些非表单控件就会用“选择器.attr("属性名","属性值")”来添加属性属性值和取得属性值。
<script type="text/javascript">
/**
* 表单控件
*/
//赋值:给<input type="text" name="text1" id="text2"/>赋值
$("input").val("请输入文本");
//取值:取得<input type="text" name="text1" id="text2"/>的值
$("input").val();
/**
* 非表单控件
*/
//赋值:添加class属性 -> $("span").addClass("class");
$("span").attr("class","class");
//取值:获取div属性id的值
$("div").attr("id");
</script>