在表单验证中,要判断input是否为空,为空就要输出提示,比如密码不能为空,用户名不能为空,我想通过for属性获取label对象中的文字提示,要怎么做??
在表单验证中,要判断input是否为空,为空就要输出提示,比如密码不能为空,用户名不能为空,我想通过for属性获取label对象中的文字提示,要怎么做??
按你的 Js 基础,建议使用 jQuery 吧。
var id = this.id,
nice_name = $('label[for="'+ id +'"]').text();
//...
<label for=""></label>
描述:设置或获取给定标签对象指定到的对象。一般用在输入框,单选框,复选框等地方
注意:for的值要与所用控件的id值对应
用实例来演示,看后就明白了
<label for="name">name:</label><input type="text" id="name" />
<label for="man">男 </label><input type="checkbox" name="man" id="man"/>
<label for="woman">女 </label><input type="checkbox" name="woman" id="woman"/>
当我们运行后,首先我们单击用户名时就会发现和直接单击输入框一样,都可以使光标定位到输入框里,当单击复选框男或者女时,效果和我们直接单击复选框打勾的效果一样,都可以进行打勾操作。
你的意思是想要循环获得所有label吧?首先,你得要有个label数组啊,不然你怎么循环?
比如:var label=document.getElementsByTageName("label");//这是获取了所有的label
然后:for(var i=0,len=label.length;i<len;i++){
(function(i){
console.log(label[i].innerHTML);
})(i)
}
谢邀,问题已经解决了。
1.用属性选择器就是你采纳的那个答案
2.用prev上一个兄弟。一般来说两个都是挨着的吧。
3.把提示内容放在input的data-*自定属性上。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决