我已将div's
第二Id
分配为<a>
标记的类。当您点击此div
时,它会模拟点击<a>
标记。
$(".component-data").click(function(){
var partNo = $(this).attr('id').split(' ')[1];
var tableEQV = ("'a."+partNo+"'");
$(tableEQV).trigger("click");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div id="58 59" class="component-data">comp data(click me for google)</div>
<div id="60 61" class="component-data">comp data(click me for facebook)</div>
<br />
<a class="59" href="http://www.google.com">link to simulate going to google</a>
<br />
<a class="61" href="http://www.facebook.com">link to simulate going to facebook</a>
答案 0 :(得分:0)
.trigger("click");
仅适用于使用jquery附加的点击事件。并且它不会模拟对锚标记的点击,就好像它是真正的鼠标点击一样。
通过JavaScript触发点击不会打开超链接。这是内置于浏览器中的安全措施。
解决方案:使用.click()
$(tableEQV)[0].click();
请注意,这会调用DOM本机点击方法,而不是jQuery点击方法,这就是您所需要的。
答案 1 :(得分:0)
您对a
标记的引用不正确。
问题代码:
var tableEQV = ("'a."+partNo+"'");
应该是,
var tableEQV = "a."+partNo;
$(".component-data").click(function() {
var partNo = $(this).attr('id').split(' ')[1];
//form correct a tag with class selector
var tableEQV = "a." + partNo;
//trigger click on anchor tag
$(tableEQV).trigger("click");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div id="58 59" class="component-data">comp data(click me for google)</div>
<div id="60 61" class="component-data">comp data(click me for facebook)</div>
<br />
<a class="59" href="http://www.google.com">link to simulate going to google</a>
<br />
<a class="61" href="http://www.facebook.com">link to simulate going to facebook</a>
&#13;