我需要创建一个嵌入页面的HTML片段(一个简单的js库)。这是HTML:
<div id="gallery-1" class="royalSlider rsDefault">
<a class="rsImg" data-rsw="632" data-rsh="500" data-rsbigimg="../img/paintings/2.jpg" href="../img/paintings/700x500/2.jpg">
Vincent van Gogh - The Starry Night
<img width="96" height="72" class="rsTmb" src="../img/paintings/t/2.jpg">
</a>
</div>
我可以使用字符串插值创建它,但有人建议我使用Nokogiri。我不知道如何嵌套节点。
@doc = Nokogiri::HTML::DocumentFragment.parse ""
Nokogiri::HTML::Builder.with(@doc) do |doc|
g.pictures.each do |picture|
doc.create_element "a", :class => "rsImg"
end
end
使用Nokogiri是否更好,还是我可以继续使用简单方法(字符串)?如何创建我需要的嵌套结构?
更新
与Nokogiri签订
@doc = Nokogiri::HTML::DocumentFragment.parse ""
Nokogiri::HTML::Builder.with(@doc) do |doc|
doc.div(:id => 'content-gallery', :class => 'royalSlider rsDefault') {
g.pictures.each do |picture|
doc.a(:src => picture.image_url(:gallery), :class => 'rsImg') {
doc.img(:src => picture.image_url(:widget), :class => 'rsTmb')
}
end
}
end
@doc.to_html