jQuery不能通过其ID访问表行

时间:2018-10-02 18:38:11

标签: javascript c# jquery asp.net-mvc

我有这个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>

我的意思是,未附加文本,可能是因为它无法识别元素。我会误导语法或某些逻辑功能吗?

3 个答案:

答案 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]),连字符(“-”),下划线(“ _“),冒号(”:“)和点号(”。“)。

What are valid values for the id attribute in HTML?