javascript - 去除a标签的href
PHP中文网
PHP中文网 2017-04-11 12:20:36
[JavaScript讨论组]

状况:用了畅言的插件,代码在下面,默认只显示登录框。会加载评论。加载的代码在下面

目标 :用JS或者JQ 去除这些 加载的评论中 的a 的href 属性

尝试:试着在页面中添加了一些a标签,是可以去除href属性的。但是新加载的内容中的href去除不掉。

猜想:是否是由于延迟加载?

页面用的畅言插件代码如下:

<p class="bd-content">
<a id='xx' href='www.baidu.com'>经测试,这里的a href可以去除</a>
    <!--PC版-->
    <p id="SOHUCS" sid="1111"></p>
    <script charset="utf-8" type="text/javascript" src="https://changyan.sohu.com/upload/changyan.js" ></script>
    <script type="text/javascript">
        window.changyan.api.config({
            appid: 'XXXXX',
            conf: 'XXX'
        });
    </script>
</p>

加载后页面产生的评论代码如下:

 <a node-type="photo" href="javascript:;" title="硬汉Leon">  //下面片段中想要去除的a标签
 

就这里的href属性去除不掉。

 
完整版:
<p node-type="cmt-item" data-id="1312928178" data-user-id="168874727" data-platform-id="2" class="clear-g block-cont-gw">
<p class="cont-head-gw">
    <p class="head-img-gw">
                    <a node-type="photo" href="javascript:;" title="硬汉Leon">
            <p class="img-corner"></p>
            <img src="http://tp4.sinaimg.cn/2517194931/180/5698722607/1" width="42" height="42" alt="">
        </a>
    </p>
</p>
<p class="cont-msg-gw"><p node-type="prop-wrap" class="prop-wrap" style="height: 90px;">
<p class="prop-wrap-hidden" style="height: 90px;">
<span class="icon" style="left: 274px; top: 2px; background: url(&quot;http://0d077ef9e74d8.cdn.sohucs.com/pFSEmA0_png&quot;) no-repeat;"></span></p></p>
    <p class="msg-wrap-gw" style="margin-top: -90px;">
        <p class="wrap-user-gw global-clear-spacing">
                            <span class="user-time-gw">2017年2月28日 13:36</span>
            <span node-type="nickname" class="user-name-gw"><a href="javascript:void(0)">硬汉Leon</a></span>
                            
            <span class="user-address-gw">[<i>江苏省南京市</i>网友]</span>
                        </p>
        
        
        <p class="wrap-issue-gw">
            <p class="issue-wrap-gw"><span class="wrap-word-gw"><span title="发怒" class="face-item face_03"></span>1111</span></p>
            <p class="cy-see-more">
                <span></span><i></i>
            </p>
        </p>
        <!-- 图片展示 -->
        
        <p node-type="btns-bar" class="clear-g wrap-action-gw">
            <p node-type="action-click-gw" class="action-click-gw global-clear-spacing">
                <i class="gap-gw"></i>
                <span node-type="report" class="click-report-gw"><a href="javascript:void(0)"><i class="icon-gw icon-flag"></i><em>举报</em></a></span><i class="gap-gw"></i><span node-type="reply" class="click-reply-gw"><a href="javascript:void(0)">回复</a></span>
                <i class="gap-gw"></i>
                <span node-type="support" class="click-ding-gw">
                    <a href="javascript:;"><i class="icon-gw icon-ding-bg"></i><em class="icon-name-bg">1</em></a>
                </span>
                
                <i class="gap-gw"></i>
                <span node-type="oppose" class="click-cai-gw">
                    <a href="javascript:;"><i class="icon-gw icon-cai-bg"></i><em class="icon-name-bg"></em></a>
                </span>
                
            <i class="gap-gw"></i><span node-type="prop" class="click-prop-gw"><span class="prop-span"><a href="javascript:void(0)"></a></span></span></p>
            
        </p>
                </p>
</p></p>
不方便把conf 和appid 贴上来,抱歉
PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
阿神

可以考虑把去除href的操作放在队列的最后执行。
使用setTimeout(function(){},0);

迷茫

因为你去除href的代码执行的时候,畅言的插件还没有加载完毕呢。所以肯定是去不掉的。
建议用settimeout隔断时间继续查找去除href

function removeHref(){
    // 去除href
    var isRemove=false;
    // 判断是否存在需要移除的a
    if(存在){
        // 执行移除href
        isRemove=true;
    }
    if(!isRemove){
        removeHref();
    }
}

setTimeout(removeHref,200)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号