2016-09-19 5 views
0

zu ersetzen Verwendung Ich habe zwei div Elemente:Wert von href fangen und dieser anderen href

<div class="contact-img"> 
    <a href="https://test.de" class="evcms-open-contacts" > 
     <img src="https://cdn-cache.envivo-connect.com/license/Tw3sZjz8v/p/xckYV8bESwsZ/80x80c/xckYV8bESwsZ.png?v=2.4.84-z3p37YEER-1467970717-yZUA33Hxn" alt="F. Alexander Kep"/> 
    </a> 
</div> 
<div class="contact-sm"> 
    <a href="https://www.xing.com/profile/FfAlexander"> 
</div> 

Ich mag die href von meiner contact-sm Klasse erhalten und die href meiner contact-img Klasse mit Xing Link zu ersetzen. Wenn ich also auf contact-img klicke, sollte die Xing-Seite dieser Person in einem neuen Fenster geöffnet werden.

Danke für Ihre Hilfe

+0

Ja, aber ich darf das HTML leider nicht ändern. Ich wusste nur, wie man die richtige Klasse mit einem Klick fängt, wusste aber nicht, wie man den href ändert. Vielen dank für Deine Hilfe!! –

Antwort

0

Der beste Weg, um Ihre HTML zu ändern wäre. Aber wenn Sie "müssen" sie haben die Art und Weise Sie dann dieses jQuery-Schnipsel überprüfen beschrieben:

($(function(){ 
    $('.contact-img > a').on('click', function(e) { 
     e.preventDefault(); 
     e.stopPropagation(); 

     $('.contact-sm > a')[0].click(); 
    }) 
}))(jQuery); 
+0

Vielen Dank! Das war genau das, was ich gesucht habe !! –

+0

Warum brauchen Sie 'preventDefault' und' stopPropagation'? – evolutionxbox

+0

'preventDefault' verhindert das Standardverhalten des Klickens auf das' a'-Tag, was eine Navigation zur URL in der href wäre. Und 'stopPropagation' verhindert das Aufblühen des Ereignisses, da die Eltern dieses' a'-Tags möglicherweise auch ein 'click'-Ereignis aufweisen, das nicht ausgelöst werden soll. – JorgeObregon

0

Das Snippet Code wird Ihnen helfen.

$(document).ready(function(){ 
 
$('.contact-img a').click(function(){ 
 
$(this).attr('href', $('.contact-sm a').attr('href')); 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="contact-img"> 
 
      <a href="https://test.de" class="evcms-open-contacts" > 
 
       <img src="https://cdn-cache.envivo-connect.com/license/Tw3sZjz8v/p/xckYV8bESwsZ/80x80c/xckYV8bESwsZ.png?v=2.4.84-z3p37YEER-1467970717-yZUA33Hxn" alt="F. Alexander Kep"/> 
 
      </a> 
 
</div> 
 
<div class ="contact-sm"> 
 
      <a href="https://www.xing.com/profile/FfAlexander"> 
 
</div>

+0

Ich freue mich sehr für alle Antworten in so kurzer Zeit! Vielen Dank!!! Auch deine hat mir sehr geholfen !! –

+0

@MonikaLutze Prost :) –

0

$(function() { 
 
    var xingHref = $(".contact-sm > a").attr("href"); 
 
    $(".contact-img > a").attr("href", xingHref); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="contact-img"> 
 
    <a href="https://test.de" class="evcms-open-contacts"> 
 
    <img src="https://cdn-cache.envivo-connect.com/license/Tw3sZjz8v/p/xckYV8bESwsZ/80x80c/xckYV8bESwsZ.png?v=2.4.84-z3p37YEER-1467970717-yZUA33Hxn" alt="F. Alexander Kep" /> 
 
    </a> 
 
</div> 
 
<div class="contact-sm"> 
 
    <a href="https://www.xing.com/profile/FfAlexander" /> 
 
</div>

0

Falls darüber tun sollten:

var desiredHref = $('.contact-sm a').attr('href'); 
$('.evcms-open-contacts').attr('href', desiredHref); 

Diese kann natürlich in einer Zeile geschrieben werden, aber um der Antwort willen.