如何禁用特殊URL jquery的链接

时间:2014-12-30 15:58:47

标签: javascript jquery html

我想禁用链接到产品的链接。我的链接如下。

<a href="http://www.example.com/?product=product01"> <a href="http://www.example.com/?product=sample-product02"> <a href="http://www.example.com/?product=product03">

我想要使用jquery

来禁用http://www.example.com/?product=******之类的网址

帮助我谢谢

4 个答案:

答案 0 :(得分:5)

var links = $('a[href^="http://www.example.com/?product="]');

// method 1
//links.removeAttr('href');

// method 2
links.click(function(event) {
    event.preventDefault();
});

此处示例:fiddlejs

我建议你阅读jQuery Attribute Selectors documentation页面。

答案 1 :(得分:0)

为什么要把链接放在首位?不需要jquery,只需使用css显示无或隐藏可见性... Jquery示例添加了aswell

$('a[href^="http://www.Jqueryexample.com"]').hide();
a[href^="http://www.example.com/?product"]{display:none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="http://www.example.com/?product=product01"></a>
<a href="http://www.example.com/?product=sample-product02"></a>
<a href="http://www.Jqueryexample.com/?product=sample-product02">Jquery example</a>

  <a href="http://www.example2.com/?product=product03">example2 domain</a><br>
  <a href="http://google.com">google</a>

答案 2 :(得分:0)

作为Cadence96的答案的替代方案,您可以使用replaceWith更改所有文字的链接,如下所示:

var links = $('a[href^="http://www.example.com/?product="]');

links.replaceWith(function(){
    return '<div class="new-item">' + $(this).html() + '</div>'; // or wrap with a <div> or whatever you want
});

答案 3 :(得分:0)

也许这是一种矫枉过正,但我​​会这样做:

  1. 只考虑ulr的参数
  2. 您可以轻松添加其他链接以禁用disableProductLink-array
  3. 如果您愿意,已经在每个循环中添加了一个类,以便在元素上添加不同的样式。
  4. 所以这是js-part:

    function getParameterByName( name,href )
    {
      name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
      var regexS = "[\\?&]"+name+"=([^&#]*)";
      var regex = new RegExp( regexS );
      var results = regex.exec( href );
      if( results == null )
        return "";
      else
        return decodeURIComponent(results[1].replace(/\+/g, " "));
    }
    
    var disableProductLink = new Array("product01", "product02");
    
    $('a').each(function(){
        var url = $(this).attr('href');
        var product = getParameterByName('product', url);
        if(disableProductLink.indexOf(product) != -1){        
            $(this).on('click',function(e){
                e.preventDefault();
            });
            $(this).addClass('notAvaible');
        }        
    });
    

    http://jsfiddle.net/6m7zh1fx/1

    下运行示例