我有这个td
“动态命名”:
@foreach (var m in Model)
{
<td id="mod @m.codFilial" style="width:auto;">@m.mod</td>
}
如您所见,其ID以foreach
上的值命名,并以"mod "
为前缀。
但是,我似乎无法通过jquery访问每个td
:
<script>
$("mod #@m.codFilial").append("<p>Text to append.</p>");
</script>
我的意思是,未附加文本,可能是因为它无法识别元素。我会误导语法或某些逻辑功能吗?
答案 0 :(得分:2)
元素ID不能包含空格,例如 this answer 了解详情。
您可以使用例如下划线而不是空格:
@foreach (var m in Model)
{
<td id="mod_@m.codFilial" style="width:auto;">@m.mod</td>
}
最后但并非最不重要的一点,在jQuery选择器中,您需要以#
字符开头,以便使用整个ID。
<script>
$("#mod_@m.codFilial").append("<p>Text to append.</p>");
</script>
答案 1 :(得分:0)
不要在选择器中使用空格,@
<td id="mod @m.codFilial"
使用
<td id="mod_m.codFilial"
因为js如果使用它,将标识ID为'@ m.codFilial'的标签'mod'的子对象
和js
$("#mod_m.codFilial").append("<p>Text to append.</p>");
答案 2 :(得分:0)
ID和NAME令牌必须以字母([A-Za-z])开头,后跟任意数量的字母,数字([0-9]),连字符(“-”),下划线(“ _“),冒号(”:“)和点号(”。“)。