jquery清空div内部的内容设置(jquery清空下拉框的值)

Jquery操作Dom节点属性和单选框多选框表单元素attr()和removeAttr()方法用于操作DOM节点的属性://…

vardiv=$

Jquery操作Dom节点属性和单选框多选框表单元素

attr()和removeAttr()方法用于操作DOM节点的属性:

// <div id=\"test-div\" name=\"Test\" start=\"1\">...</div>
var div = $(\'#test-div\');
div.attr(\'data\'); // undefined, 属性不存在
div.attr(\'name\'); // \'Test\'
div.attr(\'name\', \'Hello\'); // div的name属性变为\'Hello\'
div.removeAttr(\'name\'); // 删除name属性
div.attr(\'name\'); // undefined

prop()方法和attr()类似,但是HTML5规定有一种属性在DOM节点中可以没有值,只有出现与不出现两种,例如:

<input id=\"test-radio\" type=\"radio\" name=\"test\" checked value=\"1\">

等价于:

<input id=\"test-radio\" type=\"radio\" name=\"test\" checked=\"checked\" value=\"1\">

attr()和prop()对于属性checked处理有所不同:

var radio = $(\'#test-radio\');
radio.attr(\'checked\'); // \'checked\'
radio.prop(\'checked\'); // true

prop()返回值更合理一些。不过,用is()方法判断更好:

var radio = $(\'#test-radio\');
radio.is(\':checked\'); // true

类似的属性还有selected,处理时最好用is(‘:selected’)。

操作表单

对于表单元素,jQuery对象统一提供val()方法获取和设置对应的value属性:

<body>
<!-- html -->
<input id=\"test-input\" name=\"email\" value=\"test\">

   <select id=\"test-select\" name=\"city\">
       <option value=\"BJ\" selected>Beijing</option>
       <option value=\"SH\">Shanghai</option>
       <option value=\"SZ\">Shenzhen</option>
   </select>
   <textarea id=\"test-textarea\">Hello</textarea>
   <div>
  <label> r1 <input type=\"radio\" name=\"r1\" value=\"r1\" class=\"ra\"></label>

  <label> r2 <input type=\"radio\" name=\"r1\" value=\"r2\" class=\"ra\"></label>
   </div>

  <div>
  <button id=\"btn\">修改radio选中状态</button>
  </div>

<script>

var
   input = $(\'#test-input\'),
   select = $(\'#test-select\'),
   textarea = $(\'#test-textarea\');
   radio = $(\"input[name=r1]\")

console.log(input.val()); // \'test\'
input.val(\'abc@example.com\'); // 文本框的内容已变为abc@example.com

console.log(select.val()); // \'BJ\'
select.val(\'SH\'); // 选择框已变为Shanghai

console.log(textarea.val()); // \'Hello\'
textarea.val(\'Hi\'); // 文本区域已更新为\'Hi\'

//注意jq对象与dom对象的转换
console.log(radio) //jq对象
console.log(radio[1]) //dom对象
console.log(radio.get(0)==radio[0]) //true

//初始状态:让第一个radio选中
radio.each((index,item)=>{
console.log(item) //dom对象
if($(item).val()==\"r1\"){  //使用val(),需要先转换为jq对象
$(item).prop(\"checked\",true)
}
})

//点击btn修改radio选中状态
$(\"#btn\").click(function(){
// radioChecked = radio.find(\":checked\")//空,find是查找子元素
radioChecked = radio.filter(\":checked\")//获得选中的radio,filter是过滤当前的元素
radioUnChecked = radio.filter(\":not(:checked)\") //选择未选中的radio,:not为反向选择器
// console.log(radioUnchecked)
if(radioChecked){
// radioChecked.prop(\"checked\",false)
radioUnChecked.prop(\"checked\",true)
}
})
</script>
</body>

可见,一个val()就统一了各种输入框的取值和赋值的问题。但是radio有所不同,需要单独使用prop()单独设置。当然也可以使用attr()方法,使用prop()更好一些。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/18028.html

(0)
nan
上一篇 2021-08-28
下一篇 2021-08-28

相关推荐

发表回复

登录后才能评论