在Jquery中使用变量作为对象名

时间:2012-09-10 13:07:08

标签: javascript jquery

我通过一个解决方案找到了另一个类似的问题,但它对我不起作用。我是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 个答案:

答案 0 :(得分:1)

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

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

如果您有班级名称 - 只是班级名称 - 您可以添加.

var reqsection ='reqfields4';

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

就像你告诉jQuery一样:

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

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

如果你这样做:

var reqsection= ".reqfields4";

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

以上两行是等效的。

答案 3 :(得分:0)

你可以尝试以下,

var reqsection=".reqfields4";

$(reqsection).each ( function() { 

              if(( $(this).val())==''){
                   some code...
                   }
              else{
                   some code...
                  }
                });