0

我通过解决方案找到了另一个类似的问题,但它对我不起作用。我是 jquery 的新手,所以提前感谢您帮助我解决我的 noobie 问题。

我正在尝试使用一个变量作为类名。这样我就可以根据这个变量遍历正确的字段。我的变量返回.reqfields4但我收到此错误Error: Syntax error, unrecognized expression: ",如果我手动输入值,它可以工作。

我怎样才能做到这一点?谢谢。

var reqsection='\".reqfields4\"';

$(".reqfields4").each ( function() { 
//$(reqsection).each ( function() {               
          if(( $(this).val())==''){
               some code...
               }
          else{
               some code...
              }
            });
4

4 回答 4

1

您不需要在变量的值内加上引号:

var reqsection = '.reqfields4';
$(reqsection).each( ... );

如果你有一个类名——只是一个类名——你可以添加.

var reqsection = 'reqfields4';

$('.' + reqsection).each( ... )

于 2012-09-10T13:08:41.720 回答
1

只需更改var reqsection='\".reqfields4\"';var reqsection='.reqfields4';- 您不需要内部字符串引号。

于 2012-09-10T13:08:52.247 回答
0

如果你说var reqsection= '\".reqfields4\"';$(reqsection).each( function() {});

就像你告诉 jQuery 一样考虑它:

$(' ".reqfields4" ').each( function() {}); 

换句话说,您说:[请立即选择“.reqfields4”,包括引号]。所有的类选择器都必须以点(.)开头,但是你只是用引号(“)开始你的 jQuery 选择器,所以它当然根本不起作用(它当然不会尝试选择任何类),并且可能会从 jQuery 中抛出一个错误——我认为任何 jQuery 选择器字符串都不能将引号(“)作为选择器的实际第一个字符!。

如果您改为这样做:

var reqsection= ".reqfields4";

$(".reqfields4").each( function() {});
$(reqsection).each( function() {}); 

上面两行是等价的。

于 2012-09-10T13:09:55.767 回答
0

您可以尝试如下,

var reqsection=".reqfields4";

$(reqsection).each ( function() { 

              if(( $(this).val())==''){
                   some code...
                   }
              else{
                   some code...
                  }
                });
于 2012-09-10T13:11:20.603 回答