/*

text方法,给网页元素设置文本值的方法
主要处理火狐不支持innerText这个属性的问题。
还学习了如何判断一个字符串类型的属性是否存在
如果判断一个对象类型的属性是否存在,用if(ele.attr)就行,但是如果判断字符串类型的,则就要if(typeof ele.attr=='string')这样了,其它类型同理
第二个参数可选,如果有第二个参数,则是设置文本值
*/
function text(ele,str){
if(ele&&ele.nodeType&&ele.nodeType===1){//如果第一个参数是元素类型
if(str===undefined){//如果第二个参数没有传过来
if(typeof ele.textContent=='string')
//上句是在判断浏览器是不是支持textContent这个属性,
//如果支持则此属性的类型为string,否则为undefined
return ele.textContent;
else
return ele.innerText;
 
}else if(typeof str=='string'){
//如果传了第二个参数,并且第二个参数的类型正确,则是
//给此元素设置文本值
if(typeof ele.textContent=='string')
ele.textContent=str;
else
ele.innerText=str;
}else {
alert('第二个参数str有误') ;
throw new Error('第二个参数str有误');
}
}else{
alert('第一个参数ele误!');
throw new Error('第二个参数str有误');//这样写更好
}
 
}

innerText兼容性问题的更多相关文章

  1. JavaScript--动态添加元素

    在网页中,使用JavaScript动态创建元素的方式有三种: 1.document.write() 2.Element.innerHTML 3.document.createElement() 在上述 ...

  2. JS获取标签内容的方法

    JS获取标签内容的方法 测试代码 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  3. textContent、innerText 以及Event事件兼容性问题

    今天在完成前端的简单练习时发现了一些兼容性的问题,百度后得以解决. 这里主要讨论Firefox与Chrome的兼容性问题. textContent与 innerText 在javascript中, 为 ...

  4. innerHTML、outerHTML、innerText、outerText的区别及兼容性问题

    今天看了很多文章关于innerHTML.outerHTML.innerText.outerText的区别,都是很模糊的一个介绍,所以自己总结下这些区别以及一些重点内容.很多文章在描述这些区别的时候,都 ...

  5. innerHtml innerText textContent兼容性问题

    innerHtml,innerText,textContentinnerHtml获取元素带标签的内容:innerText只获取元素的文本:火狐不支持innerText,支持textContent: / ...

  6. innerHTML和innerText的区别

    以<p id="example">welcome to <strong>JavaScript</strong> !!!</p>为例: ...

  7. javascript中一些常见的兼容性问题

    下面是一些Javascript的IE和Firefox(火狐)兼容性的常用例子 1. document.formName.item("itemName") 问题 说明:IE下,可以使 ...

  8. 封装js的部分兼容性

    //获取标签的内容(兼容所有浏览器)function getInnerText(element) { //能力检测(先判断如果这个能力有这个) if(typeof element.innerText ...

  9. js中兼容性问题的封装(能力检测)

    所谓兼容性,就是看浏览器是否支持当前对象的属性或是方法,先通过获得页面文本内容的方式来了解兼容性,并封装函数或对象以解决此类问题. 获得页面文本内容的方式:innnerText 或textConten ...

随机推荐

  1. FastJSON 转换List<T> ,Map<T,T>泛型失败 处理方法

    dictDataMap = JSON.parseObject(dictAllCacheResult,new TypeReference<Map<String, DictionaryData ...

  2. 弗雷塞斯 从生物学到生物信息学到机器学习 转录组入门(3):了解fastq测序数据

    sra文件转换为fastq格式 1 fastq-dump -h --split-3 也就是说如果SRA文件中只有一个文件,那么这个参数就会被忽略.如果原文件中有两个文件,那么它就会把成对的文件按*_1 ...

  3. Java规则引擎及JSR-94[转]

      规则引擎简介 Java规则引擎是推理引擎的一种,它起源于基于规则的专家系统.       Java规则引擎将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策.Java规则引擎接 ...

  4. 08_java超市管理系统

    超市管理系统功能介绍 * A:超市管理系统功能介绍 * a: 显示主菜单 ============欢迎光临ItCast超市============ 1: 货物 清单 2: 添加货物 3: 删除货物 4 ...

  5. leetcode380

    class RandomizedSet { public: /** Initialize your data structure here. */ RandomizedSet() { } /** In ...

  6. JavaScript 修改元素值

    document.getElementById('yybz').value=jsdata.toLocaleString(); document.getElementById('yybz').inner ...

  7. c++builder 画图 填充

    c++builder 画图 填充 void __fastcall TForm2::Button1Click(TObject *Sender) { Canvas->Brush->Color ...

  8. Mysql Windows 7 异常关闭, 2003 - Can't connect to Mysql server on 'localhost' (10061) "Unknown error")

    如下: 按Win+R在窗口输入services.msc 启动mysql服务

  9. totoise svn误将桌面作为checkout路径,界面一堆?

    工作中由于错误操作,totoise svn检出文件时,直接选择检出路径为桌面,这样导致界面一大堆“?”:看起来比较烦,上网查找处理方案: 其中一个最简单的方法是: 第一步:新建txt文件: 第二步:输 ...

  10. nginx-rtmp-module--------------WIKI

    https://github.com/arut/nginx-rtmp-module/wiki/Directives#idle_streams ============================= ...