如何在razor视图引擎中使用jquery名称语法?
我有一个网页,我正在转换为razor视图引擎。我有一个代码,现在失败了:如何在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
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使用@
。