Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
如何在razor视图引擎中使用jquery名称语法?_Jquery_Asp.net Mvc_Razor_Jquery Selectors_Viewengine - Fatal编程技术网

如何在razor视图引擎中使用jquery名称语法?

如何在razor视图引擎中使用jquery名称语法?,jquery,asp.net-mvc,razor,jquery-selectors,viewengine,Jquery,Asp.net Mvc,Razor,Jquery Selectors,Viewengine,我有一个网页,我正在转换为razor视图引擎。我有一个代码,现在失败了: if ($("input[@name='exerciseRB']:checked").val() == 'New') { $("#newExercise").show(); $("#existingExercise").hide(); } else { $("#newExercise").hide(); $("#existingExercise").show(); } 它似乎认为@(在@n

我有一个网页,我正在转换为razor视图引擎。我有一个代码,现在失败了:

if ($("input[@name='exerciseRB']:checked").val() == 'New') {
    $("#newExercise").show();
    $("#existingExercise").hide();
}
else {
    $("#newExercise").hide();
    $("#existingExercise").show();
}
它似乎认为@(在@name中)是我的mvc剃须刀的一部分(而不是简单地获取jquery选择器)。错误是“无法解析符号名”


这里有什么建议可以让jquery和razor很好地协同工作吗?

在这个非常具体的例子中,您对属性使用XPath
@
语法,这在jquery中已被弃用(在jquery中被完全删除)≥ 1.3,因此它在较新版本中不起作用)

这里的解决方案是删除
@
并使用CSS属性选择器语法:

if ($("input[name='exerciseRB']:checked").val() == 'New') {

如果您需要转义任何其他原始的
@
符号,请将它们加倍,这样您就可以得到
@

在这个非常特殊的情况下,您将使用XPath
@
语法作为属性,这在jQuery中已被弃用(在jQuery中被完全删除)≥ 1.3,因此它在较新版本中不起作用)

这里的解决方案是删除
@
并使用CSS属性选择器语法:

if ($("input[name='exerciseRB']:checked").val() == 'New') {

如果您需要转义任何其他原始
@
符号,请将它们加倍,这样您就可以得到
@

我相信@将是如何转义razor中的@符号:

if ($("input[@@name='exerciseRB']:checked").val() == 'New') {

我相信@将是如何摆脱剃须刀中的@符号:

if ($("input[@@name='exerciseRB']:checked").val() == 'New') {

您可以对@literals使用
@
。您可以对@literals使用
@