Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery未使用MVC Razor语法启动的每个函数_Jquery_Asp.net Mvc_Razor - Fatal编程技术网

jQuery未使用MVC Razor语法启动的每个函数

jQuery未使用MVC Razor语法启动的每个函数,jquery,asp.net-mvc,razor,Jquery,Asp.net Mvc,Razor,Razor语法相当陌生,但我在Razor视图上有一些jQuery代码,如下所示:- @section Scripts { <script type="text/javascript"> $(document).ready(function () { console.log('test1'); var test = $('#4-10-documentation'); console.log(test);

Razor语法相当陌生,但我在Razor视图上有一些jQuery代码,如下所示:-

@section Scripts {

<script type="text/javascript">

    $(document).ready(function () {

        console.log('test1');

        var test = $('#4-10-documentation');

        console.log(test);

        $('#4-10-documentation').each(function () {

            console.log('test2');

        });

        console.log('test3');

    });

</script>

}
因此,jQuery在直接指定第一个对象时不会遇到问题,但由于某种原因,
。每个
函数根本不会启动。有什么原因吗

别担心,这里的代码是真实代码的简化版本,我使用的是类选择器,而不是这里显示的id选择器

注意:- 事实证明,该元素来自通过ajax加载的部分视图,因此document.ready()中不存在元素id


感谢大家的帮助。

当您尝试匹配选择器时,jQuery将始终返回一个对象-无论是否找到与选择器匹配的DOM元素。这就是为什么当您使用console.log时会看到输出
对象[]

如果您使用的是Firebug,我会检查您的HTML,看看您试图使用jQuery循环的DOM元素是否在呈现的HTML中。通过使用
$(“#4-10-documentation”).length()


如果
length()<代码>id
必须是唯一的。@TusharGupta OP提到他在“真实”代码中没有使用id。如果您使用的是类选择器,那么我觉得这很好。它正在创建一个对象数组,这是预期的结果,对吗?@Jeevan Jose-写入控制台的对象来自第一个选择器(var test…)@Roger Pennink-是的。长度为0。事实证明该元素是通过ajax加载的,这就是为什么在document.ready()中找不到它的原因
test1

Object[]

test3