我有像这样的javascript
var funct = function(){
return {
init : function(data) {
this.sendRequest({
action : 'login'
});
},
login : function()
{
var parentDIV = $("#dnn_ctr450_HtmlModule_lblContent");
parentDIV.attr('href', 'https://webcenter.elendersolutions.com/webcenter/').trigger('click');
}
}
}
这个HTML代码。
<div id="dnn_ctr450_ModuleContent" class="DNN_HTMLContent">
<div id="dnn_ctr450_HtmlModule_lblContent" class="Normal">
<p></p>
<h2></h2>
<h2>
<a href="https://webcenter.elendersolutions.com/webcenter/" target="_self"> <-- how can i trigger this one?
<img width="188" height="40" border="0" src="/Portals/0/WebcenterSignin.gif" alt="Webcenter Login"></img>
</a>
</h2>
<h2>
<a href="https://rates.lsi-lps.com/">
<img width="188" height="40" border="0" src="/Portals/0/RateCalculatorSignin.gif" alt=""></img>
</a>
</h2>
<h2></h2>
<p></p>
</div>
我正在尝试做的是触发链接,这样它就像我只需手动点击一样。
答案 0 :(得分:1)
首先,您实际上没有正确选择链接。而是,您正在选择其父div,并在div上设置href。函数的目标元素是jQuery对象中的内容,在本例中为div:$("#dnn_ctr450_HtmlModule_lblContent")
。
相反,请直接选择锚点链接(可能值得查看attribute-equals selector和find
的jQuery文档:
var parentDIV = $("#dnn_ctr450_HtmlModule_lblContent");
var aLink = parentDIV.find("a[href='https://webcenter.elendersolutions.com/webcenter/']");
第二个问题是jQuery的点击功能不允许你关注链接;您必须利用原生html元素的click
方法,详见this SO post。
aLink[0].click();
请注意,通过执行[0]
我们正在访问底层DOM元素,因此我们调用的方法是而不是 jQuery方法。
答案 1 :(得分:0)
我们无法用JQuery做任何事情。我们唯一能做的就是逐步进行重定向。
var href = parentDIV.attr('href');
window.location.href = href;
但是使用原生javascript我们可以。
parentDIV.[0].click(); //where the index 0 returns the native DOM object.
但请注意,由于某些原因,浏览器不希望在javascript触发时通过href链接触发重定向。