4

我有这个 HTML 代码:

    <div id="calc_pol_list">
       <li class="calc_li">
           <span class="right_list_number">1</span>
           <p id="120" class="calc_p"/>
       </li>
       <li class="calc_li">
           <span class="right_list_number">2</span>
           <p id="100" class="calc_p"/>
       </li>
    </div>

我需要使用 jQuery 获取第一个 p: 的 ID 并将此 ID 转换为字符串。

我试过这段代码:

    $('#calc_pol_list p:first').attr('id');

但它不起作用。

我怎样才能做到这一点?

更新:这是我的功能:

function refreshCost(){
    if ( jQuery.isReady ) {
        stomCost = parseInt($('div#calc_pol_list calc_p:first').attr('id'));
        var cost = stomCost + scatCost + polCost;               
        $("#pre_cost").text(cost);
    };
};

是的,如果与其他代码分开考虑,我的代码是正确的。我意识到问题是什么,但我不知道如何解决它。问题是这些

我在不在其原始 DOM 中的 Ajax 请求之后添加。拥有这些的表单

在 div 里面。我在这里读到我需要使表单成为身体的直接子代,但在这种情况下这是不可能的。

4

6 回答 6

4
$('#calc_pol_list p').first().attr('id')

像这样 :)

于 2013-10-08T12:50:49.753 回答
3

那这个呢:

$('#calc_pol_list p').eq(0).attr('id');

jsfiddle http://jsfiddle.net/krasimir/ppzqx/1/

于 2013-10-08T12:50:54.373 回答
2

解决方案是使用 .ajaxStop

$(document).ajaxStop(function() {
    alert($('#calc_pol_list p').eq(0).attr('id'));
});
于 2013-10-14T11:16:55.357 回答
1

尝试这个:

$(document).ready(function(){ 
alert($('#calc_pol_list p:first').attr('id'));
});
于 2013-10-08T12:50:10.603 回答
0

ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_") , 冒号 (":") 和句点 (".")。

请参阅:HTML 中 id 属性的有效值是什么?

于 2013-10-08T12:53:52.123 回答
0

创建一个变量并在其中获取变量,例如

var content = $('#calc_pol_list > li p:first').attr('id');

并提醒它你会得到 id 作为字符串,例如

alert (content );
于 2013-10-08T12:56:00.593 回答