2012-02-19 82 views
0

我的目标是用同一个函数的不同变体来影响一个元素。我使用过id,class和a,但这看起来像是一种非常丑陋的做法,我最终会达到选择器的极限。我的代码如下,我希望有一个更优雅的方式来实现这一点,用少数有限的方式来影响页面上的一个元素。一个元素的jQuery多个选择器

编辑:下面只是代码的选择器部分。一个元素不能有多个id或class,那么我如何添加10个独立的方法来引用同一个元素,所以我可以同时做10个不同的事情呢?

  <script> 
      $(document).ready(function() 
        { 

      $('a[title]').qtip({ (...) 
}); 


      $('#tooltip2').qtip({ (...) 
}); 

      $('.myclass').qtip({ (...) 
}); 
+0

你总是可以在同一个元素上使用多个类。 – Bojangles 2012-02-19 18:15:03

+0

缩短并增加了一个? – rd42 2012-02-19 18:19:00

回答

3

你只要每次都使用相同的选择...

$('#tooltip2') 

没有理由你需要使用每次做一些元素不同的时间不同的选择。选择器只是一种识别DOM中所需元素的方法。


您已更新问题。在原始问题中,每个使用的选择器都指向相同的元素。

你已加入...

“的元素不能有超过一个ID或类...”

的元素可以有超过一个班级。

...所以如何将添加10点独立的方式来引用相同的元素......”

你并不需要有不同的方法来选择相同的元素,如果你确实选择了相同的元素。

你怎么选择它真的有什么与你做什么变化“...所以我可以在同一时间用它做10个不同的东西”。如果有10个不同的人想和你说话,他们每个人都需要用不同的名字给你打电话吗?选择器只是的一种方式,指定了您要定位的元素


如果确实需要在几个方面与它的工作,这是最好的选择它一次和高速缓存选择...

var tt2 = $('#tooltip2'); 

tt2.qtip(...); 

tt2.qtip(...); 

tt2.qtip(...); 

这是因为DOM的选择是一个相当昂贵的操作。不必要的时候最好不要重复。

+0

从来没有想到,让我试试 – rd42 2012-02-19 18:19:22

+0

我不是,很好的答案。我期待着复杂性,并没有想到看到明显的。谢谢!我会在6分钟内检查支票。 – rd42 2012-02-19 18:21:06

+0

@ rd42:不客气。 – 2012-02-19 18:22:36