适当的标签选择器?

时间:2013-08-23 06:18:28

标签: javascript jquery css jquery-selectors

我似乎无法为此标记找到正确的jquery选择器:

HTML:

<div class="span4 span4-mod">
    <div class="well well-mod">
    <h4 class="DomainDescription">Iniz LAX1</h4>
    <span class="btn-block">
        <button></button>
    </span>
    <form action="pinfo.php" method="post">
        <input type="hidden" value="">
        <button>History</button>    
    </form>
    Port Status<br />
    <span class="portstatus porton">21</span>
    <table class="table" style="margin-top: 10px;">
        <tbody>
            <tr>
                <td><strong>Distro:</strong></td>
                <td class="showdistro">Debian 7.1</td>
            </tr>
            <tr>
                <td><strong>Online since: </strong></td>
                <td class="showonline">2 Days 10:29</td>
            </tr>
        </tbody>
    </table>    
</div>

我正在尝试搜索“DomainDescription”类,然后在“showonline”类中搜索HTML,并操纵后者。

我正在寻找兄弟姐妹(桌子)&gt;孩子(tbody)&gt;的关系。孩子(tr)&gt;孩子(td)

尽我所能,我似乎找不到适合这种关系的选择器。

我开始时:

$('.DomainDescription').each(function () {                  
    var PrintedUptime=$(this).siblings().children(".showonline").html();
    alert (PrintedUptime);
});

适当的选择器应该是什么?

2 个答案:

答案 0 :(得分:1)

你可以

$('.DomainDescription').each(function () {                  
    var PrintedUptime=$(this).closest('.well-mod').find(".showonline").html();
    alert (PrintedUptime);
});

演示:Fiddle

答案 1 :(得分:0)

正确的css选择器是:

.DomainDescriptor~table>tbody>tr>td>.showonline

我认为这至少是正确的。因此,您可以使用:

$('.DomainDescriptor~table>tbody>tr>td>.showonline').each(function(){
    alert(this.html());
})

达到预期的效果。这未经过测试。