Javascript 如何访问jquery动态生成的元素
我有这个密码Javascript 如何访问jquery动态生成的元素,javascript,jquery,html,Javascript,Jquery,Html,我有这个密码 <div id="static_element"></div> <script> $(document).ready(function() { $("#static_element").html("<b class="dynamic_element">Test</b>"); //this row wont work $(".dynamic_element").css({"
<div id="static_element"></div>
<script>
$(document).ready(function()
{
$("#static_element").html("<b class="dynamic_element">Test</b>");
//this row wont work
$(".dynamic_element").css({"color":"red"});
})
</script>
$(文档).ready(函数()
{
$(“#静态_元素”).html(“测试”);
//这一排不行
$(“.dynamic_element”).css({“color”:“red”});
})
我想用类“dynamic_element”访问标记“b”,但我不能,因为它是动态生成的
有什么想法吗?
谢谢这:
$("#static_element").html("<b class='dynamic_element'>Test</b>");
$(“#静态_元素”).html(“测试”);
会有用的。元素是否由脚本生成并不重要,jQuery选择器将匹配调用时DOM中存在的所有元素。唯一的罪魁祸首是Ajax函数,比如load。使用这些方法添加到DOM中的元素不会在调用方法时出现,而是在请求完成时异步出现。幸运的是,有一些回调可用于此类情况。您以错误的方式生成html。始终将html放在单引号中,以便双引号不会打断它:
$("#static_element").html('<b class="dynamic_element">Test</b>');
$(“#static_元素”).html('Test');
我想把事情说得更清楚,但我应该说得更清楚。动态数据来自数据类型为“html”的ajax。在success函数中,我将从ajax返回的项放在静态html中$(“#space”).html(来自_ajax的数据)//测试一段时间后,在另一个onclick事件中,我尝试访问它$(“#sub#dinamic_元素”).css(…);谢谢,onclick事件发生在哪里?在生成的html中?您确定这个元素实际上存在于从ajax返回的数据中吗?另外,您是否可以使用$(“#space”).load(url)代码>而不是手动发出ajax请求并设置html()?