【日常】JS练习题(三)

实现一个表单,当光标聚焦在证件号码栏时, 提示输入18位的身份证号码

简单分析一下,当证件号码一栏onfocus时,在input后面追加一行“请输入18位的身份证号码”的红字提示。
即当input的onfocus事件被触发时,首先把之前追加的元素删除,然后重新在input后追加元素(在该td下追加子元素)。

首先来回顾一下有关追加、删除子元素的相关DOM方法

  • 追加子元素
/*追加子元素*/

var idTip = document.getElementById("idcard");
// 获得节点的父元素
var parentNode = idTip.parentNode;
// 创建一个<p>节点
var newNode = document.createElement("p");
// 创建一个文本节点
var newTextNode = document.createTextNode("这是一个文本节点啦");

// 把新节点追加到父节点的子节点下 appendChid
parentNode.appendChild(newNode);

// 在指定节点前插入新节点 insertBefore
parentNode.insertBefore(newNode, idTip);
  • 删除节点
/*删除节点*/

var idTip = document.getElementById("idcard");
var parentNode = idTip.parentNode;
// 创建新节点
var newNode = document.createElement("p");
// 给新节点的id赋值为tip
newNode.setAttribute("id","tip");
// 将新节点追加到父节点
parentNode.appendChild(newNode);
// 删除新节点
parentNode.removeChild(newNode);

现在有了以上的方法,就可以实现这道题目了。

// 具体html代码就不再赘述了

<tr>
	<td>身份证号码</td>
	<td colspan="2">
		<input type="text" name="idcard" id="idcard" onfocus="tipId()">
    </td>
 </tr>
function tipId() {
	// body...
	var idTip = document.getElementById("idcard");
	var parentNode = idTip.parentNode;
	var broNode = document.getElementById("tip");
	//alert(broNode);
	if(broNode){
		parentNode.removeChild(broNode);
	}
	var newNode = document.createElement("p");
	newNode.style.color = "red";
	newNode.style.fontSize = "15";
	newNode.style.display = "inline";
	newNode.innerHTML = "请输入18位身份证号码";
	newNode.setAttribute("id","tip");

	parentNode.appendChild(newNode);
}

一步一步成长~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值