2017-02-20 5 views
0

У меня есть этот код,Манипулирование данные динамических HTML-теги Jquery

$('#gogo').click(function(e){ 

    var data='<a href="http://www.google.com" class="myButtons">Google</a><a href="http://www.microsoft.com" class="myButtons">Microsoft</a>"; 
      $("#showResults").html(data); 

    }); 


    $(".myButtons").click(function(e) { 
     e.preventDefault(); 
     alert($(this).attr("href")); 
     $("#result").attr("src", $(this).attr("href")); 
    }); 


<button id="gogo">Click me</button> 

<div id="showResults"></div> 

<iframe id="result" name="result" src="" width="750px" height="450px" frameBorder="0"></iframe> 

Я задавался вопросом, почему он не работает. Возможно, это потому, что нет обработчика событий новых добавленных тегов html?

Я не хочу использовать «результат» мишень =

Спасибо.

ответ

2

Ваш код не является обязательным прослушивателем событий для динамически созданных dom-узлов. Проверьте мое решение:

$('#gogo').click(function(e){ 
 
    var data='<a href="http://wikipedia.org" class="myButtons">Wikipedia</a><a href="http://www.microsoft.com" class="myButtons">Microsoft</a>'; 
 
    $("#showResults").html(data); 
 
}); 
 

 

 
$("body").on("click", ".myButtons", function(e) { 
 
    e.preventDefault(); 
 
    alert($(this).attr("href")); 
 
    $("#result").attr("src", $(this).attr("href")); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button id="gogo">Click me</button> 
 

 
<div id="showResults"></div> 
 

 
<iframe id="result" name="result" src="" width="750px" height="450px" frameBorder="0"></iframe>

+0

спасибо, это работает, но IFrame не перемещаться к нужной сети, почему? – eawedat

+0

Это потому, что выбранные вами веб-страницы (google/microsoft) отображают их в iframe на других веб-страницах. Попробуйте использовать разные URL-адреса, например, Wikipedia.org. Я обновил пример. –

+0

спасибо, полный ответ +1 – eawedat

Смежные вопросы