removeAttribute的问题

removeAttribute的问题

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script src="../JS DOM 操作/domReady的实现.js" type="text/javascript" charset="utf-8"></script>

<script type="text/javascript">

myReady(function(){

var inputs=document.querySelectorAll("input");

inputs[0].checked=true;

inputs[1].removeAttribute("checked");

});

</script>

</head>

<body>

你去过的城市:<br/>

<input type="checkbox" />北京

<input type="checkbox" checked="checked" />香港

<input type="checkbox" />纽约

</body>

</html>

为什么我换第二个input按钮就移除掉了呢?第一个还是移除不了

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕慕子 2020-05-22 17:31:33

同学你好,这里属于一个特殊的知识点。html里的属性和dom中的属性大多数名称是一样的,但是有些不相同。

比如html的checked, selected, value属性,对应dom对象里的名称叫defaultChecked,defaultSelected,defaultValue,而不是原名。再比如class属性 ,对应在js中要设置className才能把class属性设置上 

所以直接使用checked并不会改变input的默认值哦 . 要如下设置:

http://img1.sycdn.imooc.com//climg/5ec79b6d0901a40205080080.jpg

在结构中才可以显示出来:

http://img1.sycdn.imooc.com//climg/5ec79b8b0928de6508640379.jpg

然后在使用removeAttribute方法把它移出就可以了

http://img1.sycdn.imooc.com//climg/5ec79bc1098d280107410176.jpg

http://img1.sycdn.imooc.com//climg/5ec79bce094ed7e607140394.jpg

所以在设置属性的时候 ,像老师说的那几个特殊的 ,你可以特殊记住一下 ,不过只有className可能用到的多一点 ,其他的几个,同学简单了解一下即可 。

同学可以测试理解下,祝学习愉快~

好帮手慕慕子 2020-05-22 09:43:59

同学你好,是指如下图所示,打开页面第一个input按钮默认选中了吗?

http://img1.sycdn.imooc.com//climg/5ec72dcc09305b3402490079.jpg

如果这样的话,那么是因为同学给第一个按钮的checked属性设置为true了,导致默认是选中状态。第二个按钮通过removeAttribute方法移除了checked属性,所以第二个按钮是未选中状态。

http://img1.sycdn.imooc.com//climg/5ec72e0309e37d1709670154.jpg

如果不是指这里,可以详细描述下具体指的是哪里,便于帮助同学准确的定位与解决问题,祝学习愉快~


  • 提问者 慕婉清6507108 #1
    后面我再加inputs[0].removeAttribute(“checked”)的话怎么会移除不掉呢?但第二个可以移除的掉
    2020-05-22 15:47:29
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师