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带有idof的元素,如果它是直接的 HTML condition' + num + ',这确实一个错误。

编辑

我会参考@BobDavies 的答案来解决您的问题;回想起来,我只是解释了为什么你会得到这个错误。

于 2012-06-29T13:30:51.303 回答