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的改进:)