Javascript 如何通过jQuery获取html中第一个特定类元素的ID值

Javascript 如何通过jQuery获取html中第一个特定类元素的ID值,javascript,jquery,html,Javascript,Jquery,Html,我有以下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">

我有以下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>
但它不起作用

我该怎么做

更新: 以下是我的功能:

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);
    };
};

是的,如果与代码的其余部分分开考虑,我的代码是正确的。我意识到问题是什么,但我不知道如何解决它。问题是,这些是在Ajax请求之后添加的,而Ajax请求不在其原始DOM中。拥有这些的表单在div中。我在这里读到,我需要使表单成为身体的直接子体,但在这种情况下,这是不可能的

试试这个:

$(document).ready(function(){ 
alert($('#calc_pol_list p:first').attr('id'));
});
像这样:)

这个怎么样:

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

ID和名称标记必须以字母([a-Za-z])开头,并且可以是 后跟任意数量的字母、数字([0-9])、连字符(“-”), 下划线(“”)、冒号(“:”)和句点(“.”)


请参阅:

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

var content = $('#calc_pol_list > li p:first').attr('id');
并提醒它您将以字符串形式获取id,例如

alert (content );

解决方法是使用.ajaxStop

$(document).ajaxStop(function() {
    alert($('#calc_pol_list p').eq(0).attr('id'));
});

如果在dom就绪后执行,它应该可以工作-您的代码似乎工作正常。在这里工作正常:id属性不应该以数字开头
“id和名称标记必须以字母([a-Za-z])开头,后面可以跟任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.””
是,如果将我的代码与其他代码分开考虑,则我的代码是正确的。我意识到问题是什么,但我不知道如何解决它。问题是,这些是在Ajax请求之后添加的,而Ajax请求不在其原始DOM中。拥有这些的表单位于div内。我读到我需要将表单作为主体的直接子级,但在这种情况下这是不可能的。请使用(a)4空格缩进或(b)选择代码块并单击按钮栏中的
{}
按钮或(c)格式化代码块选择代码块并单击Ctrl+K。格式化代码使答案更易于阅读:)
alert (content );
$(document).ajaxStop(function() {
    alert($('#calc_pol_list p').eq(0).attr('id'));
});