2017-08-31 59 views
0

我需要在此元素来自另一个脚本后更改动态生成的p元素中的文本。加载其他脚本时jQuery触发事件/创建其他脚本的元素

Adob​​e Edge脚本在#Stage中创建两个p元素。我需要在创建这些p元素后更改其中的文本。

我实际上可以用on。(“click”)事件来改变文本,但是只要p元素得到生成,我就需要激发这个事件。

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> 

    <script src="https://code.jquery.com/jquery-3.2.1.js" integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" crossorigin="anonymous"></script> 
    <script type="text/javascript" charset="utf-8" src="edge_includes/edge.6.0.0.min.js"></script> 

</head> 
    <body> 
     <div id="Stage"> 

     </div> 

     <script type="text/javascript"> 
      $("#Stage").on("click", "p", function() { 
       $("#Stage p").text("New Content"); 
      }); 
     </script> 


    </body> 


</html> 
+0

你可以观察你的DOM和recat的变化。为此,您可以使用MutationObserver https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver –

+0

您可以参考此jQuery库 - http://plugins.jquery.com/livequery/ –

回答

0

希望这有助于:

$(function(){ 
 
\t $("<p></p>").appendTo($("#Stage")); 
 
\t $("<p></p>").appendTo($("#Stage")); 
 
\t $("<p></p>").appendTo($("#Stage")); 
 
}); 
 

 
$("#Stage p").livequery(function() { 
 
\t $("#Stage p").text("New Content"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/livequery/1.1.1/jquery.livequery.min.js"></script> 
 

 
<div id="Stage"></div>

+0

p标记已由edge.6.0.0.min.js脚本添加到页面中。我试图使用你的脚本和你的代码,但livequery事件没有解雇。 – Peesen87

+0

您可以运行上面我的回复中剪下的代码。当您点击按钮时,新的p标签将添加到“舞台”潜水中。 livequery将自动更新文本文本。 –

+0

我需要更改的p标记是在页面加载的边缘脚本中生成的。一旦页面加载完成,我需要更改此p标记。但我不能因为它的动态生成。 – Peesen87