0

W3C バリデーターでエラーが発生しました。クエリを使用して html ステートメントを追加します。ただし、W3C で次のエラーが発生します。

属性「id」の値に文字「'」は使用できません

$('<tr id="condition' + num + '" class="clonedInput" ><td class="first-colu…

この属性の命名規則に違反している可能性があります。たとえば、id 属性と name 属性は、数字ではなく文字で始まる必要があります。

私のコードは次のとおりです

    $('<tr id="condition' + num + '" class="clonedInput" ><td class="first-column">&nbsp;</td>
<td><span style="float:left; padding-right: 10px;"><select id="conCol' + num + '" 
name="conCol' + num + '" class="standard_select" style="width:147px; background:#fff;">
<option>Telephone Number</option><option>Mobile Number</option><option>Fax Number</option>
<option>iPhone Number</option><option>BB Messenger Id</option><option>Skype Name</option>
<option>Google Talk Id</option><option>MSN Messenger Id</option></select></td>
</tr>').appendTo('#addContact');
4

2 に答える 2

2

JavaScript コードを外部ファイル (インラインまたはヘッド スクリプト ブロックではなく) に配置するか、CDATA ブロックに含めます。

<script type="text/javascript">
<![CDATA[
function addRow()
{
    //do stuff
    $('<tr id="condition' + num + '" class="clonedInput" ><td class="first-colu…
}
]]>
</script>
于 2012-06-29T13:28:02.933 に答える
1

W3Cバリデーターは、最終的なX/HTMLマークアップを検証することのみを目的としています。javascriptステートメントを含むバリデーターにソースコードを貼り付けているようです。

バリデーターはjavascriptを実行しないため失敗します。ドキュメント全体がマークアップであると想定し、の要素trが表示されます。これは、ストレートHTMLの場合は実際にエラーになります。idcondition' + num + '

編集

問題を修正する方法については、@BobDaviesの回答を参照してください。振り返ってみると、エラーが発生する理由についてのみ説明しました。

于 2012-06-29T13:30:51.303 に答える