<div>
<a target="_blank" href="/ShowDetails.php">
<ul>
<li>Code1:123456</li>
<li>Code2:654321</li>
</ul>
... somethings ....
</a>
</div>
我希望当用户点击Code1:123456
时他们转到ShowDetails.php
,当用户点击Code2:654321
时,没有任何反应,以便他们可以复制代码。现在,当用户点击Code2:...
时,用户也会转到ShowDetails.php
。
我希望整个div链接到ShowDetails.php
期望Code2:654321
答案 0 :(得分:1)
如果您使用<a>
标记包围所有列表,则所有列表都将被视为链接。
您希望将链接移动到仅包围第一项中的文本:
<div>
<ul>
<li><a target="_blank" href="/ShowDetails.php">Code1:123456</a></li>
<li>Code2:654321</li>
</ul>
</div>
顺便说一下,要避免使用target="_blank"
以便为需要它的人提供辅助功能。如果他们无法通过单击相应的按钮继续上一页,他们可能会感到困扰。
答案 1 :(得分:0)
最好的解决方案是首先生成正确的html代码。您可以在第一个li元素内移动链接。
div {
border: 1px blue dotted;
}
.spacer {
background-color: #DDDDDD;
height: 100px;
border: none;
}
&#13;
<div>
<ul>
<li>
<a target="_blank" href="/ShowDetails.php">Code1:123456</a>
</li>
<li>Code2:654321</li>
</ul>
<a target="_blank" href="/ShowDetails.php">
<div class="spacer"></div>
</a>
</div>
&#13;
修改:在需要的地方添加了额外的链接。
答案 2 :(得分:0)
你可以这样做:
$(function() {
$("a").on('click', function(e) {
if (e.target.innerHTML.indexOf('654321')>-1) e.preventDefault();
});
});
如果您有任何疑问,请告诉我。祝您好运!