我通过getElementById获得id来执行我想要的js事件。如果此时又有多个相同的id。我该怎么样来处理
4个回答
展开全部
通常来说,id控件是只有一个的,推荐你使用name或者其他的属性来执行对应的js
<body>
身份证:<input name="ID_cards" />
<br />
<input name="txtZhong" type="button" value="zhong" />
<input name="txtZhong" type="button" value="zhong" />
<input name="txtZhong" type="button" value="zhong" />
</body>
<script type="text/javascript">
// 为每个 name="txtZhong" 的控件绑定 onclick 事件,执行 MyClick 方法
window.onload = function () {
var inputZhong = document.getElementsByName("txtZhong");
for (var input in inputZhong) {
// 循环绑定 onclick 事件 = 方法(){ // 执行的内容,可以带参数 }
inputZhong[input].onclick = function () {
MyClick();
}
}
}
function MyClick() {
alert("zhong");
} </script>
<body>
身份证:<input name="ID_cards" />
<br />
<input name="txtZhong" type="button" value="zhong" />
<input name="txtZhong" type="button" value="zhong" />
<input name="txtZhong" type="button" value="zhong" />
</body>
<script type="text/javascript">
// 为每个 name="txtZhong" 的控件绑定 onclick 事件,执行 MyClick 方法
window.onload = function () {
var inputZhong = document.getElementsByName("txtZhong");
for (var input in inputZhong) {
// 循环绑定 onclick 事件 = 方法(){ // 执行的内容,可以带参数 }
inputZhong[input].onclick = function () {
MyClick();
}
}
}
function MyClick() {
alert("zhong");
} </script>
追问
可以加Qq详聊吗?
展开全部
无法处理。HTML中是不允许出现相同id的元素的。如果你有多个元素使用了相同id,任何根据id获取元素的方法都永远只返回第一个。
更多追问追答
追问
有没有办法来处理几个相同id的div呢?谢谢!!
追答
利用class或者随便添加个什么属性,只要不用id就行。最好用jQuery,原生js很不好弄
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
id是唯一性的,也就是说一个id只能使用一次,你可以选择使用document.getElementByTagName('xxx')[0];
这样就得到了你第一个属性了,多个属性可以使用for循环得到任意个节点
这样就得到了你第一个属性了,多个属性可以使用for循环得到任意个节点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询