我想禁用链接到产品的链接。我的链接如下。
<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=******
之类的网址
帮助我谢谢
答案 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)
也许这是一种矫枉过正,但我会这样做:
所以这是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');
}
});
下运行示例