2016-12-08 8 views
-2

特定のクラスのすべての段落をエコーし​​ようとしています。私はさまざまな方法試してみましたクラスのすべての段落を取得

<div class='example'> 
    <p> this is the first paragraph </p> 
    <p> this is the second paragraph </p> 
</div> 

(このようなgetElementsByTagNameとものを彼らは動作しませんでした):ソースコードは、この構造を有しています。私に何かを提案できますか?

+0

あなたの質問は明確ではありません。 'php'タグを付けたので、あなたは[DOMDocument :: getElementsByTagName](http://php.net/manual/en/domdocument.getelementsbytagname.php)を意味する可能性が最も高いです。私はJavaScriptでいくつかの答えを見る。この点を明確にしてください。コード([mcve])も表示する必要があります –

答えて

1

値をclassnameで取得するだけです。

使用Jsの機能getElementsByClassName

のJavascriptのコードの下に試してみてください。JavaScriptを使用して

var x = document.getElementsByClassName("example").innerHtml; 
console.log(x); 
alert(x); 

また作業jsfiddle - https://jsfiddle.net/ayh0gk7s/1/

あなたはjQueryのを使用することを好むしている場合は、コードの下に試してみてください。

$('.example p') 
jqueryのための0

jsfiddleリンク - jQueryを使用してhttps://jsfiddle.net/3nhb1agu/

0

$('.example p') 

これがうまくいけば、あなたに必要な段落を取得する必要があります。

0

は、XPathを介してそれらをフェッチ:

$doc = new DOMDocument; 
$doc->load('file.html'); 
$xp = new DOMXPath($doc); 
$pars = $xp->query('//div[contains(@class, "example")]/p'); 
// For exactly one class: 
//$pars = $xp->query('//div[@class = "example"]/p'); 

foreach ($pars as $p) { 
    var_dump($p->nodeValue); 
} 

コード段落ノードのテキスト表現を取り込みます。

0

JQueryでは、親の子要素を印刷できます。これを試して !

$(document).ready(function(){ $("div.example").children("p").each(function(){ alert($(this).text()); console.log($(this).text()); }); });

0

あなたはquerySelectorAllを使用することができます。

var myParagraphs = document.querySelectorAll('.example p'); 

for (var i = 0 ; i < myParagraphs.length ; i++) { 
    console.log(myParagraphs[i]); 
} 
関連する問題