首先,说JS
方法,它比jQuery方法麻烦多了,然后将它与jQuery方法进行比较。
js比jQuery要麻烦得多,主要是因为FF
浏览器,而FF浏览器将是您更改的最DOM元素。
复制代码代码如下所示:
原生js获取子元素的测试ID元素下。它可以用如下:
创建一个docuemnt.getelementbyid(测试),GetElementsByTagName(div);这是没有问题的
在这个时候a.length = 2;
但是如果我们换一种方式
var b = document.getelementbyid(测试ChildNodes);
在这一点上,b.length在IE浏览器没有问题,这仍然是等于2,但它将使4在FF浏览器,因为FF以线为元素。
所以,在这里,我们要做它,我们需要遍历这些元素,使元素
类型为空,并
删除文本。
复制代码代码如下所示:
功能del_ff(元){
无功elem_child = elem.childnodes;
对于(var i = 0;i < elem_child.length;i++){
如果(elem_child {我} = =。它们#文本! / /。试验(elem_child。节点值))
{ elem.removechild(elem_child)
}
}
}
上面的
函数遍历子元素,当元素中的文本和文本类型的节点的节点值的节点类型是空的。只是把他。
节点名可以得到一个节点的节点类型,和 / /是在JS非空字符的正则表达式。在你前面!表示是一个空字符。
测试()方法用于
检测字符串是否匹配
模式。语法:RegExpObject.test(字符串)
如果字符串包含匹配的regexpobject文本,则返回true,否则返回false。
结果表明在节点该节点的值。
removechild是一个子元素,删除元素。
然后,在调用子、父、兄弟、这些
属性之前,调用上面的函数来
清理空间。
复制代码代码如下所示:
函数DOM(){
var = document.getelementbyid(测试);
del_ff(S); / /洁净空间
VaR寒颤= s.childnodes; / /得到所有节点
VaR PAR = s.parentnode; / /得到父节点
var ns = s.nextsbiling; / /到下一个同级节点的
VaR PS = s.previoussbiling; / /得到一个兄弟节点
VaR FC = s.firstchild; / /第一个子节点
VaR LC = s.lastchile; / /最后一个子节点
}
以下是jQuery的父、子和兄弟查找方法
jquery.parent(expr)寻找父节点可以通过过滤表达式,如$(跨度)。父()或$(跨度)。母(类)。
jquery.parents(expr),类似于jquery.parents(expr),而是寻找所有祖先元素的父元素,不仅限于
jquery.children(expr)。返回所有子节点,此方法只返回直接子节点,不返回所有子节点。
jquery.contents(),返回的所有内容如下,包括节点和文本。这种方法与孩子之间的差异(),包括空白的文本,它还将作为一个
jQuery对象返回,子()只返回到节点。
JQuery.prev(),返回上一个兄弟节点,并非所有兄弟节点
JQuery.prevAll(),返回以前的所有兄弟节点
JQuery.next(),返回到下一个兄弟节点,并非所有兄弟节点
JQuery.nextAll(),它返回后的所有兄弟节点
JQuery.siblings(),返回的兄弟节点,不在正面和背面
JQuery.find(expr)是完全不同的jquery.filter(expr)。JQuery.filter()选择从最初的jQuery对象集合的一部分,和jquery.find()返回的结果,将有在初始
设置无内容,比如$(p)和
发现(跨度)。它从元素开始,等于。