访问由AJAX调用创建的DOM元素

时间:2014-02-07 06:02:28

标签: javascript jquery ajax

我有一个ajax调用,返回一堆html,包括一些隐藏的div,其值如下所示:

<span class="hidden" name="price1h1" id="price1h1c0a1adult">90.7375</span>
<span class="hidden" name="price1h1" id="price1h1c0a1child">90.7375</span>
<span class="hidden" name="price1h1" id="price1h1c0adultPreMargin">265</span>
<span class="hidden" name="price1h1" id="price1h1c0childPreMargin">247</span>
<span class="hidden" name="price1h1" id="price1h1c0adultPostMargin">65</span>
<span class="hidden" name="price1h1" id="price1h1c0childPostMargin">0</span>
<span class="hidden" name="price1h1" id="price1h1c0margin">35</span>
<span class="hidden" name="price1h1" id="price1h1c0partyAdults">2</span>
<span class="hidden" name="price1h1" id="price1h1c0partyChildren">2</span>

在我的ajax调用的成功函数中,我将这个html添加到div中,然后尝试调用一个js函数,点击一些单选按钮执行一些计算并使用上面的span元素值生成最终价格

视觉内容全部出现,因此调用会执行,但是当js函数尝试使用以下命令访问结果时:

var partyAdults = $('span#price1h1c0partyAdults').html();
alert(partyAdults);

值未定义

当它在页面中内联时,一切正常,但是如何访问我生成的内容呢?

由于

2 个答案:

答案 0 :(得分:0)

如果需要动态访问DOM元素,可以指定在元素准备就绪时调用的处理程序:http://api.jquery.com/ready/

答案 1 :(得分:0)

请尝试以下代码:

var partyAdults = $('span#price1h2c0a1adult').live().text();

您可以使用JQuery .live()函数来访问动态创建的元素。

Demo