需要禁用CMS生成的特定类中的链接

时间:2013-09-17 00:07:09

标签: jquery content-management-system hyperlink

首先,让我说对不起我对jquery几乎一无所知,但这就是我要做的事情。我需要从我们的内容管理系统生成的特定div中删除链接功能。我目前在我的页面上有这样的东西:

<div id="wrapper">
    <div id="one">
        <div class="two">
            <a href="http://example.com">Example</a>
        </div>
     </div>
</div>

我在CMS中控制的HTML内容是E_before_上面动态生成的内容。我需要一个解决方案,允许我保留<a>标记的内容(在本例中为单词'example'),但删除了链接功能。我尝试了以下@TGH的解决方案:

<script>
    $('#wrapper').on("click",".two a, #one a",function(event){
    event.preventDefault();
    })    
</script>

<div id="wrapper">
    <div id="one">
        <div class="two">
            <a href="http://example.com">Example</a>
        </div>
     </div>
</div>

但它似乎没有任何影响。我现在是javascript和jquery在树林里的宝贝,所以对我做错的任何帮助都非常感谢!

2 个答案:

答案 0 :(得分:0)

$('#two a, #one a').attr("href","#")

试试上面的例子

或试试这个(即使它在标签出现之前运行也会有效)

  $('#someParentElement').on("click","#two a, #one a",function(event){
    event.preventDefault();
  })           

答案 1 :(得分:0)

我认为你需要将jQuery包装在$(document).ready

$(document).ready(function() {
    $('#wrapper').on("click","#one a",function(event){
        event.preventDefault();
    }); 
});

原因是,#wrapper也不存在。

http://jsfiddle.net/T9z9d/1/

然后你可以简单地运行:

$(document).ready(function() {
    $('#one a').on("click",function(event){
        event.preventDefault();
    });
}); 

http://jsfiddle.net/T9z9d/2/