使用JQuery委托的标记ID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JQuery委托的标记ID相关的知识,希望对你有一定的参考价值。

我正在使用JQuery的delegate函数将事件附加到标记。我有以下代码:

<div><g id="a_abc"><a xlink:href=" " xlink:title="&lt;TABLE&gt;"> 
<text text-anchor="start" x="59.1729" y="-35.4537" font-family="font-awesome" font-size="14.00" fill="#000000"></text>
</a> 
</g></div>

我想将一个委托绑定到text标签中的g部分,类似于:

$("div").delegate("g.a_abc", "click",function(){
        ...
    });

有没有办法通过id属性做到这一点,还是我们必须有class属性?因为上面的代码不起作用。将选择器设置为class属性使javascript代码正常工作。

答案

这只是一个像任何其他人一样的selector。是的,你可以做到

$("div").delegate("#a_abc", "click", function() {
    // ...
});

(或者g#a_abc如果你想忽略id="a_abc"元素,如果它不是g元素。)


旁注:delegate已被on取代多年,现在已在v3.0中弃用。 on语法反转选择器和事件:

$("div").on("click", "#a_abc", function() {
    // ...
});
另一答案

<text>标记添加到选择器并使用id,如果这是你想要的

$("div").delegate("#a_abc text", "click", function() {
     console.log(this)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div>
  <g id="a_abc">
    <a xlink:href=" " xlink:title="&lt;TABLE&gt;">
      <text text-anchor="start" x="59.1729" y="-35.4537" font-family="font-awesome" font-size="14.00" fill="#000000"></text>
    </a>
  </g>
</div>

以上是关于使用JQuery委托的标记ID的主要内容,如果未能解决你的问题,请参考以下文章

十条jQuery代码片段助力Web开发效率提升

十条jQuery代码片段助力Web开发效率提升

如何使用 jquery 从没有任何 id 或类的 div 中删除锚标记?

如何将 jQuery UI 滑块委托给 DOM?

jQuery:通过没有ID的标签名称标记(选择)内容文本

CSS 显示代码片段:使用PRE标记包裹长行