当前位置:首页>科技>正文

怎么用js操作dom节点的一些方法 js操作子节点的问题

2023-04-19 05:55:40 互联网 未知 科技

 怎么用js操作dom节点的一些方法 js操作子节点的问题

怎么用js操作dom节点的一些方法

p1是btn按钮,p2的节点是文本类型的,肯定是不一样的文本节点类型。至于为什么,看看用下所有元素的父节点,然后 .childNodes 比如 把上面的HTML元素全部放入一个ID为parentID的div元素中

js操作子节点的问题??

因为childNodes会得到textNode,textNode没有style属性。所以进入循环之后会出错。
// 用chlidren获取子元素(不包含textNode)
var li = document.getElementById("test").children

javascript 关于节点的问题

id name 等称之为[属性] 而非[节点] 所以它们自然也没有父节点
form input 等称之为[节点]

从你给出的html代码看 input的父节点是form form拥有两个子节点 即两个input

js中的节点与空节点是什么意思

1、JavaScript原生函数没有提供判断DOM节点是否存在方法,我们通常获取DOM节点几乎都是document.getElement..方法,会返回一个object数组合集,我们可以通过object[0],object[1]这样来访问这个合集的每一个对象。既然返回的是数组合集,那么就有length属性,而length大于等于1即表示DOM节点存在页面中
代码: 
Object.prototype.exist = function(){
    if(typeof this !=undefined && this.length>=1){
        return true
    }

    return false
}

使用:
假设页面有如下节点
<div>这里是DIV节点</div>
<div>这里是DIV节点</div>
<span>这里是span节点</span>
判断节点是否在页面:
var is_exist = document.getElementsByTagName(div).exist()
alert(is_exist)    // true

var is_exist = document.getElementsByTagName(span).exist()
alert(is_exist)    // true

var is_exist = document.getElementsByTagName(p).exist()
alert(is_exist)    // false

2、注意:如果使用是使用document.getElementById()方法获取对象的就不能使用exist()方法,因为根据ID取节点对象的方法在取不到节点的情况下会返回一个空对象,不会集成原型exist()函数,所以会报错!所以如果是根据ID取对象的可以直接if(obj)这样既可判断DOM节点是否存在页面中
jQuery判断DOM节点是否存在页面中
可以这么干
添加原型:
(function($) {
    $.fn.exist = function(){
        if($(this).length>=1){
            return true
        }
        return false
    }
})(jQuery)

3、使用方法:
假如页面有如下DOM节点
<div id="a">这里是id=a节点</div>
<div>这里是DIV节点</div>
<div>这里是DIV节点</div>
<span>这里是span节点</span>
判断:
alert($(#aaa).exist()) // false
alert($(#a).exist()) // true
alert($(div).exist()) // true
alert($(p).exist()) // false

以上两种方法其实都是根据对象集合的length属性判断对象是否存在。