我该怎么做?我需要在表标签之后放置tbody,基本上是为了模仿Firefox的行为。
我这样做了:
nodes = @doc.css "table > *"
wrapper = nodes.wrap("<tbody></tbody>")
感谢。
答案 0 :(得分:1)
<tbody>
应仅用于包装表的主体,因此假设您没有页眉或页脚,这将起作用:
require 'rubygems'
require 'nokogiri'
html = Nokogiri::HTML(DATA)
html.xpath('//table').each do |htable|
tbody = html.create_element('tbody')
tbody.children = htable.children
htable.children = tbody
end
puts html.xpath('//table').to_s
__END__
<table border="0" cellspacing="5" cellpadding="5">
<tr><td>Data</td></tr>
<tr><td>Data2</td></tr>
<tr><td>Data3</td></tr>
</table>
打印
<table border="0" cellspacing="5" cellpadding="5"><tbody>
<tr><td>Data</td></tr>
<tr><td>Data2</td></tr>
<tr><td>Data3</td></tr>
</tbody></table>