Javascript jQuery中使用变量的多个动态选择器

Javascript jQuery中使用变量的多个动态选择器,javascript,jquery,dynamic,jquery-selectors,Javascript,Jquery,Dynamic,Jquery Selectors,使用单个动态选择器,我没有问题: var answer_id = <?php echo $answer_id; ?>; $('#a_flag_' + answer_id).click(function(e) { e.preventDefault(); //Ajax etc... var-answer_-id=; $(“#a#u标志+答案id)。单击(函数(e){ e、 预防默认值(); //阿贾克斯等。。。 但是,如果我添加了几个动态选择器,

使用单个动态选择器,我没有问题:

var answer_id = <?php echo $answer_id; ?>;

$('#a_flag_' + answer_id).click(function(e) {
        e.preventDefault();

         //Ajax etc...
var-answer_-id=;
$(“#a#u标志+答案id)。单击(函数(e){
e、 预防默认值();
//阿贾克斯等。。。
但是,如果我添加了几个动态选择器,它们将不起作用(即,Firebug控制台上没有错误,但单击时也没有操作):

var-answer_-id=;
$(“#a#u标志"+答案(id),#a#u评论(link)+答案(id),#a(最佳答案)+答案(id))。单击(函数(e){
e、 预防默认值();
//阿贾克斯等。。。

你知道我做错了什么吗?

你需要在引用的常量字符串中加逗号

$('#a_flag_' + answer_id + ', #a_comments_link_' + answer_id + ',  #a_best_answer_' + answer_id).click(// ///
您希望得到的结果是一个如下所示的字符串

"selector, selector, selector, ..."
所以需要用逗号连接一组字符串


或者,您可以在字符串数组中构建单独的选择器,然后使用逗号分隔符“.join()”将它们连接起来(参数为“.join()”)。

您应该将coma放在字符串内部,而不是外部,并且忘记了加号

$('#a_flag_' + answer_id + ', #a_comments_link_' + answer_id +',#a_best_answer_' + answer_id)

当它开始看起来太复杂时,很可能是这样。 FWIW:

快乐编码

$('#a_flag_' + answer_id + ', #a_comments_link_' + answer_id +',#a_best_answer_' + answer_id)
var selectors = [
  '#a_flag_' + answer_id,
  '#a_comments_link_' + answer_id
  // etc.
]
$(selectors.join(", ")).click(...)