0

XMLファイルから取得している16進値があり、その16進値をデータテーブルの背景色として使用しようとしています。ただし、IE8では文字列としてレンダリングを続けます。

使った時

<%= h(@dhex1[k]) %>

次のようにレンダリングされます

<%hex> A8960A <%/ hex>に16進タグが付いています(%記号はタグであるとブラウザが認識しないように注意してください)

ブラウザで。私が試してみました

<td style="background-color:#<%=h(@dhex1[k].to_s)%>">    
<td style="background-color:#<%=h(@dhex1[k])%>">    
<td style="background-color:#<%=@dhex1[k]%>">
<td style="background-color:<%=@dhex1[k]%>">

ただし、背景色としてはレンダリングされません。16進数は、値がXMLドキュメント自体にどのように格納されるかをタグ付けし、私は使用しています

@hex1 = XPath.match( xmldoc, "///hex" )

16進値を取得しますが、A8960Aとしてレンダリングされます。何を変更する必要がありますか?

4

1 に答える 1

2

あなたの説明から@dhex1[k]、不要なxml要素が含まれているようです。次のように、値を抽出する場所でそれを取り除きます。

@hex1 = XPath.match(xmldoc, '//hex/text()')

またはそれ以降、

<td style="background-color:#<%= @dhex1[k].gsub(/<.+?>/, '') %>">
于 2010-07-25T08:24:50.110 に答える