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

有时候我们想获取一个标签名称,例如:

a
得到“div”。请看下面的例子:

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

如果纯js实现如下:

rush: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获取元素的标签实现方法全部内容了,希望大家多多支持编程之家~

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...