Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript href链接在使用jquery触发器时不工作_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript href链接在使用jquery触发器时不工作

Javascript href链接在使用jquery触发器时不工作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个像这样的javascript var funct = function(){ return { init : function(data) { this.sendRequest({ action : 'login' }); }, login : function() { var parentDIV = $("#dnn_

我有一个像这样的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>


我想做的是触发链接,这样它就可以像我手动点击一样工作

我们不能用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链接时触发重定向。

首先,您实际上没有正确选择链接。而是选择它的父div,并在div上设置href。函数的目标元素是jQuery对象中的内容,在本例中是div:
$(“\dnn\u ctr450\u HtmlModule\u lblContent”)

相反,直接选择锚定链接(可能值得查看jQuery文档中的以下内容:

第二个问题是jQuery的单击功能不允许您跟踪链接;您必须利用原生html元素的方法,如中所述

注意,通过执行
[0]
我们正在访问底层DOM元素,因此我们调用的方法不是jQuery方法

var parentDIV = $("#dnn_ctr450_HtmlModule_lblContent");
var aLink = parentDIV.find("a[href='https://webcenter.elendersolutions.com/webcenter/']");
aLink[0].click();