Flamingo.XPath.get()

get() 関数はXPathによって特定されるノードを取得します。

構文

Flamingo.XPath.get(xPath, parent)

パラメータ

パラメータ名 説明
xPath String XPath式。
parent Node オブジェクト XPath式の評価の実行対象となるコンテキストノード。

戻り値

説明
Array XPathによって特定された HTMLElement オブジェクト の配列。

例 1

下記の例はすべてのli要素の値を表示する方法を示しています。

変換元デスクトップサイトのHTMLソースコード

<html>
 <body>
   <ul>
     <li>List item 1</li>
     <li>List item 2</li>
   </ul>
 </body>
</html>

次のコードによって変換元サイトのすべてのli要素の値を表示できます。

<!--{foreach Flamingo.XPath.get('//li') as item }-->
 Value is: <!--{= Flamingo.XPath.value('.', item) }--><br/>
<!--{/foreach}-->

モバイルサイトで表示される結果は次のようになります。

Value is: List item 1
Value is: List item 2

例 2

下記の例はli要素内で使用されているURLを表示する方法を示しています。

変換元デスクトップサイトのHTMLソースコード

<html>
 <body>
   <ul>
     <li><a href="http://www.site1.com">List item 1</a></li>
     <li><a href="http://www.site2.com">List item 2</a></li>
   </ul>
 </body>
</html>

次のコードによって変換元サイトのli要素内で使用されているすべてのURLを表示できます。

<!--{foreach Flamingo.XPath.get('//li/a') as item }-->
 URL is: <!--{= Flamingo.XPath.value('@href', item) }--><br/>
<!--{/foreach}-->

モバイルサイトで表示される結果は次のようになります。

URL is: http://www.site1.com

URL is: http://www.site2.com

例 3

リストにCSSのクラスを追加する方法の例です。

変換元デスクトップサイトのHTMLソースコード

<html>
 <body>
   <ul>
     <li><a href="http://www.site1.com">List item 1</a></li>
     <li><a href="http://www.site2.com">List item 2</a></li>
   </ul>
 </body>
</html>

リストにcustom-classと呼ばれるクラスを適用するためにテンプレートに以下のコードを追加します。

<!--{
var list = X.get('//ul');
list[0] && list[0].classList.add('custom-class');
}-->
<!--{= list[0].outerHTML}-->

表示される結果は次のようになります。

<html>
 <body>
   <ul class="custom-class">
     <li><a href="http://www.site1.com">List item 1</a></li>
     <li><a href="http://www.site2.com">List item 2</a></li>
   </ul>
 </body>
</html>

例 4

リストにtarget=”_blank”属性の追加方法の例です。

変換元デスクトップサイトのHTMLソースコード

<html>
 <body>
   <ul>
     <li><a href="http://www.site1.com">List item 1</a></li>
     <li><a href="http://www.site2.com">List item 2</a></li>
   </ul>
 </body>
</html>

target=”_blank”属性を加えるためには、次のコードを使用します。

<!--{
var links = X.get('//a');
for (var i = 0; i < links.length; i++) {
  links[i].setAttribute('target', '_blank');
}
}-->

<!--{foreach links as link}-->
  <!--{= link.outerHTML}-->
<!--{/foreach}-->

表示される結果は次のようになります。

<html>
 <body>
   <ul>
     <li><a href="http://www.site1.com" target="_blank">List item 1</a></li>
     <li><a href="http://www.site2.com" target="_blank">List item 2</a></li>
   </ul>
 </body>
</html>