jQuery获得了li的id

时间:2014-04-09 17:42:32

标签: jquery

我想编写一个JQuery代码,它会在id=f1

的表单中为我提供li的id(包含文本"是")

换句话说,jquery应该给我输出l5

<html>

<body>
    <form  id='f1'>         
    <ul>
        <li id='l1'></li>
        <li id='l2'></li>
        <li id='l3'>
            <ul>
                <li id='l4'></li>
                <li id='l5'>Yes</li>            
            </ul>
        </li>
    </ul>

</form>


<form  id='f2'>         
        <ul>
            <li id='x1'></li>
            <li id='x2'></li>
            <li id='x3'>
                <ul>
                    <li id='x4'></li>
                    <li id='x5'>Yes</li>            
                </ul>
            </li>
        </ul>

</form>
</body>
</html>

5 个答案:

答案 0 :(得分:1)

DEMO

$("#f1 li").filter(function () {
    return $(this).html() == "Yes"
}).attr("id")

答案 1 :(得分:0)

使用jquery,您可以这样做:

$(document).ready(function(){
$("form[id=f1] li").each(function(){
    if ($(this).text() == 'Yes'){
        console.log($(this).attr('id')); // Here is your id 'l5'
    }
});
})

答案 2 :(得分:0)

您可以使用通用功能:

$('ul li')click(function() {
    console.log(this.id);
});

或者你可以更具体:

console.log( $('#f1 li:contains("Yes")').id);

这样你就可以在f1表格中找到li的id。

答案 3 :(得分:0)

试试这个:

$('#f1 li').each(function(){
    if($(this).html().toLowerCase() == "yes") {
      //happy find li with yes

    }   

});

答案 4 :(得分:0)

请尝试以下代码:

jQuery('#f1 li').each(function(indx){
    if(jQuery(this).html().trim()=='Yes'){
        alert(jQuery(this).attr('id'));
    }
});