0

我正在开发一个使用 Masonry 并使用 jQuery 将每个网格元素链接到全尺寸图像的投资组合网站(将链接添加到整个 div)。

某些网格元素不应该链接到任何地方,所以我想知道是否可以在不触及原始代码的情况下删除这些元素的链接。它们每个都有自己的类,可以用作选择器。

我虽然是remove()empty()但它不起作用,因为我不想删除 div,我只想禁用与其关联的链接。

代码

抱歉,它是一个巨大的文件,其中的 HTML 也是通过 JS 构建的。以下是那些有时间阅读的人的完整文件:http: //jsbin.com/UMILIXi/1/edit ?js,output

创建元素模板的部分在这里:

//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">&raquo;</span></span>\
                </div><% if(item.link){ %></a><% } %>\
                </div></div>\
                <% } %>\
                </div>'
4

4 回答 4

0

这可能会有所帮助

  $('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>');
于 2013-11-04T11:21:35.427 回答
0

您可以简单地阻止链接的默认操作:

$('#container').on('click', '.linkClass', function(e){
   e.preventDefault();
});
于 2013-11-04T10:36:59.677 回答
0

使用此代码删除 div 的 href

$('.linkClass').attr('href','#');
于 2013-11-04T10:44:50.483 回答
0

您有条件地添加锚标记的点,您是否也不能检查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>
<% } %>\

这样就不需要额外的脚本来处理没有链接的图块。此外,它将确保您最终不会得到锚标签,这些标签会在悬停时更改光标但不会在点击时触发任何操作。

于 2013-11-05T12:07:16.467 回答