Javascript 使用jQuery禁用来自div的链接
我在一个公文包网站上工作,该网站使用砖石结构,并使用jQuery将每个网格元素链接到完整大小的图像(将链接添加到整个div) 某些网格元素不应该链接到任何地方,因此我想知道是否可以在不接触原始代码的情况下删除这些元素的链接。它们都有自己的类,可以用作选择器 我认为remove()或empty()不起作用,因为我不想删除div,我只想禁用与之关联的链接 代码 抱歉,这是一个巨大的文件,HTML也是通过JS构建的。以下是完整的文件,供那些有时间浏览的人参考: 创建图元模板的零件如下所示:Javascript 使用jQuery禁用来自div的链接,javascript,jquery,jquery-masonry,Javascript,Jquery,Jquery Masonry,我在一个公文包网站上工作,该网站使用砖石结构,并使用jQuery将每个网格元素链接到完整大小的图像(将链接添加到整个div) 某些网格元素不应该链接到任何地方,因此我想知道是否可以在不接触原始代码的情况下删除这些元素的链接。它们都有自己的类,可以用作选择器 我认为remove()或empty()不起作用,因为我不想删除div,我只想禁用与之关联的链接 代码 抱歉,这是一个巨大的文件,HTML也是通过JS构建的。以下是完整的文件,供那些有时间浏览的人参考: 创建图元模板的零件如下所示: //ITE
//ITEM IMAGE TEMPLATE
item: '<% if(item.gridInternalLink){ %>\
<div class="' + o.itemClass + ' gridTextBox gridInternalLink" style="width:<%= width %>px;">\
<p><%= item.gridTextBox %></p>\
<% }else if(item.gridExternalLink){ %>\
<div class="' + o.itemClass + ' gridTextBox gridExternalLink" style="width:<%= width %>px;">\
<p><%= item.gridTextBox %></p>\
<% }else if(item.gridNoLink){ %>\
<div class="' + o.itemClass + ' gridTextBox gridNoLink" style="width:<%= width %>px;">\
<p><%= item.gridTextBox %></p>\
<% } else if(item.gridVideoLink){ %>\
<div class="' + o.itemClass + '" style="width:<%= width %>px;">\
<%= item.gridVideoLink %>\
<% }else{ %>\
<div class="' + o.itemClass + '" style="width:<%= width %>px;">\
<img src="<%= item.image %>" width="<%=width%>"/>\
<div class="' + o.itemInfoClass + '"><div class="' + o.itemTextClass + '">\
<% if(item.link){ %><a href="<%= link %>" rel="<%= rel %>" title="<%= title %>"><% } %>\
<div class="text-wrapper">\
<% if(item.cat){ %>\
<h3 class="post-info"><%=item.cat%></h3>\
<% } %>\
<h2><%= item.title %></h2></div><div class="view-gallery">\
<% if(item.imgnum){ %><span class="item-num"><%= item.imgnum %></span><% } %>\
<span class="grid-gallery-icon<%= additionalClass %>"></span><span class="view-text"><%= viewText %><span class="more-arrow">»</span></span>\
</div><% if(item.link){ %></a><% } %>\
</div></div>\
<% } %>\
</div>'
//项目图像模板
项目:'\
\
\
\
\
\
\
\
\
\
\
\
\
\
“宽度=”“/>\
\
\
\
\
'
您可以简单地阻止链接的默认操作:
$('#container').on('click', '.linkClass', function(e){
e.preventDefault();
});
使用此代码删除div的href
$('.linkClass').attr('href','#');
这可能会有帮助
$('div.yourClassName').append('<div id="over" style="position: absolute;top:0;left:0;width: 100%;height:100%;z-index:2;opacity:0.4;filter: alpha(opacity = 50)"></div>');
$('div.yourClassName').append(“”);
在有条件地添加锚定标记的点上,是否也可以检查gridNoLink
属性并相应地添加锚定或跨度
比如:
<% if(item.gridNoLink) { %>
<span>
<% } else if(item.link){ %>
<a href="<%= link %>" rel="<%= rel %>" title="<%= title %>">
<% } %>\
<div class="text-wrapper">\
...desired markup
</div>
<% if(item.gridNoLink) { %>
</span>
<% } else if(item.link){ %>
</a>
<% } %>\
\
这样就不需要额外的脚本来处理没有链接的平铺。此外,它还将确保您不会最终使用锚定标记来更改光标悬停,但不会在单击时触发任何操作。请将您的HTML和JS代码添加到问题中。至少发布HTML我想到了这一点,但我会禁用所有元素上的链接声明。我只需要禁用某些元素上的链接。@domdev-在您的问题中,您说“每个元素都有自己的类,可以用作选择器”-我假设您可以将其用作上面的选择器。(替换
.linkClass
)是的,对不起,你是对的。我只是尝试了一下,但不幸的是没有成功。我会继续尝试——谢谢你的回答。我真的很感激。什么是“它没有成功”呢?错误,一切都被禁用了…?我试过了,但不幸的是没有成功。谢谢!