Mam jak ten 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');               
    }
   }
}

Kod HTML tego jednego.

<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>

Próbuję zrobić, to wywołać link, aby był to funkcjonować tak, jakbym po prostu kliknąć ręcznie.

0
NewbieCoder 15 sierpień 2014, 09:47

2 odpowiedzi

Najlepsza odpowiedź

Po pierwsze, nie wybierasz poprawnie linku. Raczej wybierasz jego rodzica div i ustawienie href na div. Element docelowy Twojej funkcji jest tym, co znajduje się w obiekcie jQuery, w tym przypadku div: $("#dnn_ctr450_HtmlModule_lblContent").

Zamiast tego wybierz bezpośrednio link do kotwicy (warto poddać przeglądaniu dokumentów jQuery dla Atrybut selektor i find:

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

Drugim problemem jest to, że funkcjonalność kliknięcia JQuery nie pozwala na śledzenie linków; Musisz skorzystać z rodzimych elementów HTML {{ X0}} Metoda, jak wyszczególnione w Ten tak post.

aLink[0].click();

Należy pamiętać, że robiąc [0] Dostęp do podstawowego elementu Dom, a więc metoda, którą nazywamy, jest metodą jQuery nie .

1
Community 23 maj 2017, 10:33

Nie możemy nic z tym zrobić z jQuery. Jedynym, co możemy zrobić, to progmatycznie wykonywać przekierowanie.

var href = parentDIV.attr('href');
window.location.href = href;

Ale z rodzimym javascript tak, możemy.

parentDIV.[0].click(); //where the index 0 returns the native DOM object.

Ale pamiętaj, że z niektórych powodów Przeglądarki nie chcą wywołać przekierowania z Link Href, gdy jest wywołany prokuytycznie JavaScript.

0
Netorica 15 sierpień 2014, 05:57