页面元素的兼容性:

所谓的兼容性指的就是当前浏览器是否支持当前对象的属性或是方法,如果支持就是兼容,如果不支持就是不兼容。

举个例子:

/**

 * 设置页面标签之间的文本内容的兼容性写法

 * @param obj

 * @param value

 */

function setInnerText(obj,value){

    if(obj.innerText){

        obj.innerText = value;

    }else {

        obj.textContent = value;

    }

}

var txt ={   //将与文本相关的封装到一个对象当中,之前的函数就是现在的对象的方法

    getInnerText: function(obj){

        if(obj.innerText){  //IE8及之前的早期浏览器版本支持的

            return   obj.innerText;

        }else {

            return   obj.textContent; // 火狐早期版本支持的

        }

    },

    setInnerText:function(obj,value){

        if(obj.innerText){

            obj.innerText = value;

        }else {

            obj.textContent = value;

        }

    }

};

常用事件小结及页面元素属性的设置:

常用事件:onclick  鼠标单击

ondblclick 鼠标双击

onkeyup  按下并释放键盘上面的一个键时触发

onchange 文本内容或下拉菜单中的内容发生改变时触发

onfocus   获得焦点,表示文本等获得鼠标光标

onblur    失去焦点,表示文本框等失去鼠标光标

onmouseover 鼠标悬停,鼠标停留在图片上方等

onmouseout 鼠标移出,离开所在图片的区域

onload      网页文档加载时间

onunload      关闭网页时

onsubmit   表单提交时

元素属性的设置与改变:

文本框的禁用:

<input type="text" value="请输入一个值:" id="txt"/>

(事件省略) 当txt.disable=true;时文本框被禁用;当txt.disable=false;时文本框被解除禁用。

获得把文本框的焦点时:

文本框背景颜色的设置: txt.style.backgroundColor=颜色;

边框颜色的设置: txt.style.borderColor=颜色;

选择框(checkbox):

var inputs=j_tb.getElementsByTagName("input");

checked

设置或返回 checkbox 是否应被选中

当  inputs[i]..checked=true;表示被选中;当inputs[i].checked=false;时表示未被选中。

自定义属性:

<input type="text" class="ip" id="txt" value="123" aa="258"/>

<script>

var txt = document.getElementById("txt");

txt.mm = "258";  // 这里可以通过 JS来设置自定义属性的

console.log(txt.type);

console.log(txt.id);

console.log(txt.value);

console.log(txt.aa);   // JS只能获取标签对象的原有属性,无法获得自定义属性

console.log(txt.mm);   //此处可以获得js设置的自定义属性

// 通过对象.的方式是无法获得标签 元素的自定义属性的

</script>

节点:

节点的规定:DOM 是这样规定的:

  • 整个文档是一个文档节点
  • 每个 XML 标签是一个元素节点
  • 包含在 XML 元素中的文本是文本节点
  • 每一个 XML 属性是一个属性节点
  • 注释属于注释节点
<div class="box" id="box">

    <ul id="ul">

        <li>1111</li>

        <li>2222</li>

        <li id="li">3333</li>

        <li>4444</li>

    </ul>

</div>

<script>
var ul = document.getElementById("ul"); console.log(ul.parentNode); //直接获得ul的父级元素节点
var lis = ul.childNodes; // 获得所有的子节点,包括文本节点 for(var i=0;i<lis.length;i++){ console.log(lis[i]); }
console.log(lis.length); //长度为9 var lis2 = ul.children; // children只会获得ul内元素节点 console.log(lis2.length); //长度为4 for(var i=0;i<lis2.length;i++){ console.log(lis2[i]); } </script>

nodeTypes - 有名常数,nodeName与 nodeValue属性返回的值:

标签(ELEMENT_NODE)的节点类型是 1;

节点的名字是:对应的标签名字

标签的节点值:null

属性(ATTRIBUTE_NODE)的节点类型是:2;

它的名字是:属性名;

它的节点值是:属性值;

文本(TEXT_NODE)的节点类型是:3

它的名字是:#text

他的值是:文本的内容。(无内容就为空)

兄弟节点:

<div class="box" id="box">

    <ul id="ul">

        <li>1111</li>

        <li>2222</li>

        <li id="li">3333</li>

        <li>4444</li>

    </ul>

</div>

<script>
var li = document.getElementById("li"); console.log(li.nextSibling); // 下一个紧邻节点,chrome 火狐都支持的,只不过呢,有可能 会获得文本节点,IE8及之前的浏览器会忽略空白文本节点,如果文本有内容,也会获得到 console.log(li.nextElementSibling);// 谷歌和火狐都可以获得下一个紧邻的元素节点,而IE8及之前的版本不支持 console.log(li.previousSibling);// 上一个紧邻节点,chrome 火狐都支持的,只不过呢,有可能 会获得文本节点,IE8及之前的浏览器会忽略空白文本节点,如果文本有内容,也会获得到 console.log(li.previousElementSibling);// 谷歌和火狐都可以获得下一个紧邻的元素节点,而IE8及之前的版本不支持
</script>

js-DOM-页面元素的兼容性、常用事件、节点的更多相关文章

  1. js实现页面元素随着内容的滚动而滚动

      CreateTime--2017年9月4日16:55:06 Author:Marydon js实现页面元素随着内容的滚动而滚动 分析: CSS样式,使用绝对定位确定好页面元素在屏幕的位置(如:正中 ...

  2. Selenium with Python 005 - 调用js操作页面元素

    WebDriver提供了execute_script()方法来执行JavaScript方法,格式如 driver.execute_script(script,*args) 执行js一般有两种场景,一是 ...

  3. F12修改html进行本地js操作页面元素

    F12修改html进行本地js操作页面元素

  4. Js之Dom学习-三种获取页面元素的方式、事件、innerText和innerHTML的异同

    一.三种获取页面元素的方式: getElementById:通过id来获取 <body> <input type="text" value="请输入一个 ...

  5. js获取页面元素距离浏览器工作区顶端的距离

    先介绍几个属性:(暂时只测了IE和firefox,实际上我工作中用到的最多的是chrome)  网页被卷起来的高度/宽度(即浏览器滚动条滚动后隐藏的页面内容高度) (javascript)       ...

  6. js为页面元素添加水印

    近期有需求为页面部分区域添加上水印,通过在网上找到了js为页面添加水印的方法,后来经过自己的改进,可以实现为页面部分元素添加水印,最终效果如下图: 代码如下: function watermark(s ...

  7. JS获取页面,元素,窗口和返回页面,元素,窗口的宽高以及滚动值

    jquery获取页面,元素,窗口的宽高以及滚动值 //获取浏览器显示区域(可视区域)的高度 : $(window).height(); //获取浏览器显示区域(可视区域)的宽度 : $(window) ...

  8. 微信小程序tips集合:无法输入文字/随时查看页面/元素审查/点击事件/数据绑定

    1:编辑文档无法输入文字 出现这种情况一般是因为之前编辑的文档未保存,所有在其他文档输入的时候会自动输入到未保存的文档中,在文档暂时编辑完毕后要ctrl+s随手保存,不然会出现无法打字情况 2: 随时 ...

  9. 【JavaScript】案例三:使用JS完成页面定时弹出广告——事件(onload)

     事件(onload) *注意点: 变量加var局部变量,不加var全局变量 setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭. 返回值:返回 ...

  10. js 改变页面元素的内容

    改变页面标签里的内容 (方法) innerText innerHTML (常用)   代码示例 <div></div> <p> 我是文字 <span>1 ...

随机推荐

  1. (LinkedList) Remove Linked List Elements

    Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --& ...

  2. 25. Valid Palindrome

    Valid Palindrome Given a string, determine if it is a palindrome, considering only alphanumeric char ...

  3. cocos2d中的可见性检测

    游戏的在进行一次渲染的时候,通常会提交大量的渲染对象给gpu.在这些需要渲染的对象中,并不是所有对象都会出现镜头中,即有一部分对象是不可见的. 通常有两种方式来完成不可见对象的剔除工作: (1)直接交 ...

  4. [Jquery] Jquery AutoComplete的使用方法实例

    jQuery的Autocomplete(自动完成.自动填充)插件 jquery-autocomplete配置: <script type="text/javascript" ...

  5. Java面向对象的思想

    面向对象的思想 1.面向对象的思想的特点: ①符合人们的日常思考习惯 ②能将复杂的问题简单化 ③将原来的执行者变为了现在的指挥者 面向对象的思想,所谓的对象,其实就是实体.对于实物的描述,通常有两个方 ...

  6. Find Query Window的运作(手电筒)

    Find Query Window的運作?(手电筒) 提示: 在點選 Toolbar的 Find鈕時,系統會觸發 Query_Find此 Trigger. 執行 App_Find.Query_Find ...

  7. 关于DCOM的安全性

    关于DCOM的安全性 DCOM的安全性设置在注册表中. 2. 通过DCOMCNF.exe可以配置

  8. highcharts 统计的样式

    highcharts 官网:http://www.hcharts.cn/

  9. RegExp 对象的三个方法:compile()、exec()、test()

    这三个都是RegExp对象下的三个方法,使用方法是一致得. 使用方法:RegExpObject.方法() 方法解析:其实就是根据定义好的正则对象,调用对应的方法. 1.RegExpObject.com ...

  10. wamp密码设置

    WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 首先,通过WAMP打开mysql控制台. 提示输入密码,因为现在是空,所以直接按回车 ...