加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JS实现一个v-if

发布时间:2020-12-16 23:16:23 所属栏目:百科 来源:网络整理
导读:div class="cnblogs_code" el = document.getElementById('root' console.log(el); span style="color: #008000"// span style="color: #008000" 遍历dom span style="color: #0000ff"function span style="color: #000000" dealNode(el) { span style="colo

<div class="cnblogs_code">


 el = document.getElementById('root'    console.log(el);

<span style="color: #008000">//<span style="color: #008000"> 遍历dom
<span style="color: #0000ff">function<span style="color: #000000"> dealNode(el) {
<span style="color: #0000ff">var childNodes =<span style="color: #000000"> el.childNodes;
[].slice.call(childNodes).forEach((node)=><span style="color: #000000">{
<span style="color: #0000ff">if(node.nodeType == 1<span style="color: #000000">){
<span style="color: #008000">//<span style="color: #008000">节点元素的属性
<span style="color: #0000ff">var nodeAttrs =<span style="color: #000000"> node.attributes;
console.log(nodeAttrs);
[].slice.call(nodeAttrs).forEach((attr) =><span style="color: #000000"> {
<span style="color: #0000ff">var attrName =<span style="color: #000000"> attr.name;
<span style="color: #0000ff">if<span style="color: #000000">(isDeretive(attrName)){
<span style="color: #0000ff">var exp =<span style="color: #000000"> attr.value;
<span style="color: #0000ff">var dir = attr.name.substring(2<span style="color: #000000">);
console.log('指令类型'<span style="color: #000000">,dir);
console.log('指令的值'<span style="color: #000000">,exp);
<span style="color: #0000ff">if(dir == 'if' && (exp=='false'<span style="color: #000000">)){
node.parentNode.removeChild(node);
}
}
});
}

            </span><span style="color: #008000"&gt;//</span><span style="color: #008000"&gt;节点深层遍历</span>
            <span style="color: #0000ff"&gt;if</span>(node.childNodes &amp;&amp;<span style="color: #000000"&gt; node.childNodes.length){
                dealNode(node);
            }
        })
    }
    dealNode(el);

    </span><span style="color: #0000ff"&gt;function</span><span style="color: #000000"&gt; isDeretive(attr) {
        </span><span style="color: #0000ff"&gt;return</span> attr.indexOf('r-') == 0<span style="color: #000000"&gt;;
    }</span></pre>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读