js获取元素的标签名实现方法

有时候我们想获取到一个标签的名称,例如:<div>a</div>得到“div”。请看下面的例子:

页面上有一个class="a"的标签,可能是input,也可能是普通的div或者是span标签,现在我们要往这个标签加一个值“value1”。如果是input则将其value属性设置为value1,div则将其innerHTML设置为value1.如何实现呢……

如果纯js实现如下:

//找到这个标签的代码略 this 代表找到的标签对象

if(this.localName=="input"||this.localName=="textarea"){

this.value="value1"

}else{

this.innerHTML="value1";

}

使用jQuery实现如下:

if($(this)[0].tagName=="input"||$(this)[0].tagName=="textarea"){

$(this).val(valueOut);

}else{

$(this).html(valueOut);

}

但有个问题就是 ie返回的标签名称是大写的,所以保险起见 我们再写一个 忽略大小写的判断相等的函数:

var equalsIgnoreCase=function(str1, str2) {

if (str1.toUpperCase() == str2.toUpperCase()) {

return true;

}

return false;

};

if(equalsIgnoreCase($(this)[0].tagName,"input")||equalsIgnoreCase($(this)[0].tagName,"textarea")){

$(this).val(valueOut);

}else{

$(this).html(valueOut);

}

以上是 js获取元素的标签名实现方法 的全部内容, 来源链接: utcz.com/z/337345.html

回到顶部