为了账号安全,请及时绑定邮箱和手机立即绑定

对input无法使用append在其后添加节点,为什么?

对input无法使用append在其后添加节点,为什么?

hello5world 2016-04-08 10:30:40
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><script src="jquery.js"></script><script> function check(){ var $mobile = $("#shouji"); if($mobile.attr("value") == ""){ var oht = "<font>内容为空</font>"; $mobile.append(oht); } return true; }</script></head><body> 手机号码验证:<input id="shouji" type="text" value="" onblur="return check()"/><br/></body></html>
查看完整描述

3 回答

?
ruibin

TA贡献358条经验 获得超213个赞

此处存在的唯一问题是input为单标签。而jquery中append函数的本质是设置innerHTML,既然是但标签,那么就没有innerHTML所以这里append无效。改进方法是:将$mobile.append(oht);换成$mobile.attr('value', oht)。不过你这个font写在这里没有意义,建议删除。

查看完整回答
1 反对 回复 2016-04-08
?
走向流沙

TA贡献45条经验 获得超23个赞

append是追加内容到元素节点之间(最后面),你的这个value是他的属性,不是元素节点。

你写的这语句$mobile.append(oht);改成$mobile.attr("value",oht);

查看完整回答
反对 回复 2016-04-08
  • 3 回答
  • 0 关注
  • 2671 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信