Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何禁用来自特殊url jquery的链接_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何禁用来自特殊url jquery的链接

Javascript 如何禁用来自特殊url jquery的链接,javascript,jquery,html,Javascript,Jquery,Html,我想禁用它链接到产品的链接。我的链接如下 如果url像http://www.example.com/?product=******使用jquery 帮帮我,谢谢 var links = $('a[href^="http://www.example.com/?product="]'); // method 1 //links.removeAttr('href'); // method 2 links.click(function(event) { event.preventDefa

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


如果url像
http://www.example.com/?product=******
使用jquery

帮帮我,谢谢

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

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

// method 2
links.click(function(event) {
    event.preventDefault();
});
示例如下:

我建议您阅读jQuery属性选择器页面

示例如下:


我建议您阅读jQuery属性选择器页面

为什么要把链接放在第一位?不需要jquery,只需使用css显示none或visibility hidden…还添加了jquery示例

$('a[href^='http://www.Jqueryexample.com“]')。隐藏()
a[href^=”http://www.example.com/?product“]{显示:无;}



为什么要将链接放在第一位?不需要jquery,只需使用css显示none或visibility hidden…还添加了jquery示例

$('a[href^='http://www.Jqueryexample.com“]')。隐藏()
a[href^=”http://www.example.com/?product“]{显示:无;}



除了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
});
var links=$('a[href^='http://www.example.com/?product="]');
links.replaceWith(函数(){
返回“”+$(this).html()+“”;//或使用或任何您想要的方式换行
});

除了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
});
var links=$('a[href^='http://www.example.com/?product="]');
links.replaceWith(函数(){
返回“”+$(this).html()+“”;//或使用或任何您想要的方式换行
});

也许这是一种过激行为,但我会这样做:

  • 它只考虑ulr的参数
  • 您可以轻松地向disableProductLink数组添加更多要禁用的链接
  • 如果愿意,可以在each循环中添加一个类,用于元素上的不同样式
  • 以下是js部分:

    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');
        }        
    });
    

    在下面运行示例:

    也许这是一种过分的做法,但我会这样做:

  • 它只考虑ulr的参数
  • 您可以轻松地向disableProductLink数组添加更多要禁用的链接
  • 如果愿意,可以在each循环中添加一个类,用于元素上的不同样式
  • 以下是js部分:

    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');
        }        
    });
    


    在下面运行示例:

    您是否可以尝试并编辑一些代码来完成此操作?即使是错误的代码也更容易帮助你,因为它更清楚你没有得到什么。你能尝试一下并编辑一些代码来做到这一点吗?即使是错误的代码也更容易帮助你,因为它更清楚你没有得到什么。非常感谢。它可以保持为唯一的文本吗?你说保持为唯一的文本是什么意思?使用css你可以覆盖链接样式;如果没有css类,可以使用jQuery添加它。例如:links.addClass('normal-text');是的,谢谢你的帮助。我可以使用这个Jquery links.addClass('remove-links')禁用链接;和cssa.remove-links{指针事件:无;光标:默认;}非常感谢。它可以保持为唯一的文本吗?你说保持为唯一的文本是什么意思?使用css你可以覆盖链接样式;如果没有css类,可以使用jQuery添加它。例如:links.addClass('normal-text');是的,谢谢你的帮助。我可以使用这个Jquery links.addClass('remove-links')禁用链接;和cssa.remove-links{指针事件:无;光标:默认;}我不想隐藏链接。我想保留为文本。谢谢回复。我不想隐藏链接。我想保留为文本。谢谢你的回复。为什么是负数?我认为这个答案很好,而且很有效。@Cadence96,我不确定投票人是怎么想的:)但是,嘿,你这样的评论,对我来说已经足够了。我会在回复时添加一些包装html。谢谢@Cadence96的改进:)为什么是负数?我认为这个答案很好,而且很有效。@Cadence96,我不确定投票人是怎么想的:)但是,嘿,你这样的评论,对我来说已经足够了。我会在回复时添加一些包装html。感谢@Cadence96的改进:)