簡體   English   中英

簡單的HTML DOM如何僅訪問頂級元素

[英]Simple HTML DOM how to access the elements at the top level only

我陷入了主題問題。 這是示例代碼:


include('./simple_html_dom.php');
$html = str_get_html("
<cols>
    <br>
    <col>
        content1
        <br>
        content1
    </col>
    <br>
    <col>
        <br>
        content2
        <br>
        content2
    </col>
    <br>
</cols>");

foreach($html->find('cols br') as $br) { echo $br->outertext; }

這給了我<cols>標記內的所有<br>標記,但是我只需要頂層的<br>
$html->find('cols > br')也不起作用(

更新解決此問題:


foreach($html->find('cols') as $cols_tag_content) {
    for($node = 0; $node < count($cols_tag_content->children()); $node++) {
        if($cols_tag_content->children($node)->tag == "br") {
            //doing whatever you want with br. i just remove it
            $cols_tag_content->children($node)->outertext = "";
        }
    }
}
這適用於<br><br />

foreach($html->find('cols') as $cols_tag_content) {
    for($node = 0; $node < count($cols_tag_content->children()); $node++) {
        if($cols_tag_content->children($node)->tag == "br") {
            //doing whatever you want with br. i just remove it
            $cols_tag_content->children($node)->outertext = "";
        }
    }
}

您是否嘗試過'cols> br'? 我認為'cols> br' 可能會把它扔掉。

另請參閱http://www.w3schools.com/css/sel_element_gt.asp,以獲取更多信息。

我認為jQuery允許間隔。

更新

我將上面的偽HTML重組為將div與以下類一起使用:

<div class="cols">
    <br />
    <div class="col">
        content1
        <br />
        content1
    </div>
    <br />
    <div class="col">
        <br />
        content2
        <br />
        content2
    </div>
    <br />
</div>

現在執行以下jQuery腳本即可:

var brs= $('div.cols > br');
alert("Found "+brs.length+" brs");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM