使用 jQuery 和类在 <a> 上捕获 href 操作

Posted

技术标签:

【中文标题】使用 jQuery 和类在 <a> 上捕获 href 操作【英文标题】:catch href action on <a> using jQuery and class 【发布时间】:2013-05-29 21:17:47 【问题描述】:

我尝试使用 jQuery(基于链接的类)捕获被调用的 href,以便能够使用 jQuery.load 代替。

但是选择器在我的&lt;a href&gt; 上不起作用,如果我将类放在父级&lt;td&gt; 上它可以工作......我的 jQuery 选择器中任何不好的 id(我只想选择一些 @ 987654325@ 在我的表中)?

我的html

// Don't work, the page is loaded normally
    <td>
      <a href="mylink" class="urlToMainDiv">
      <a href="mylink2">
    </td>

// Work but on all links
<td class="urlToMainDiv">
  <a href="mylink">
  <a href="mylink2">
</td>

我的选择器:

jQuery(".urlToMainDiv a").live("click", function(e)     
   e.preventDefault();  
   // myjQuery load fct
   load_ajax_content(this.href,divId);

jQuery(".urlToMainDiv a").click(function(e)     
  e.preventDefault(); 
  // myjQuery load fct
  load_ajax_content(this.href,divId);

感谢您的帮助。

【问题讨论】:

.live() 已弃用。您应该考虑使用新的更合适的.on() 【参考方案1】:

它完全按照你的吩咐去做。

x y 是一个后代选择器,它匹配x 中的所有ys。

你想要a.urlToMainDiv,它将匹配所有同样具有该类的a元素。

【讨论】:

@SLaks :谢谢我混淆了分层选择器 @War10ck:我现在用.on() @Boody:注意.on() 采用不同的参数。 @SLaks:你的意思是jQuery('a.urlToMainDiv').on("click",function(e) 不行?【参考方案2】:

如果您只想选择那些href 为“mylink”的链接,那么...

...对于您的第一个 html 块:

$('a.urlToMainDiv').click(function () 

...对于您的第二个 html 块:

$('.urlToMainDiv a[href="mylink"]').click(function () 

【讨论】:

以上是关于使用 jQuery 和类在 <a> 上捕获 href 操作的主要内容,如果未能解决你的问题,请参考以下文章

jquery根据数据属性和类显示隐藏表行

使用sqlite数据库和类在活动之间传输数据时获取失败交付结果[重复]

C++:对象和类|| 类的构造函数与析构函数

C++:对象和类|| 类的构造函数与析构函数

使用 jQuery 测试输入是不是有焦点

ID选择器和类选择器的合理使用