【问题标题】:How to get element with tag name having specific attribute in jquery or angularjs如何在jquery或angularjs中获取具有特定属性的标签名称的元素
【发布时间】:2016-11-14 11:56:15
【问题描述】:

我有一个 div,里面有很多标签。我想在所有具有 x 属性的文本元素上绑定 click 事件。

我试过了

$('#attendacneLineChart').find('text')

但这会返回所有文本元素。但我只需要那些具有 x 属性的文本元素。

【问题讨论】:

  • 不是重复的。我的意思是显然 OP 可以使用 jQuery 按属性进行选择,但他们不应该在 Angular 中这样做。相反,这应该通过指令来完成。
  • 没有“文本元素”之类的东西,你能举一个你试图描述的 HTML 的例子吗?你在寻找什么属性?你想对“点击”事件做什么?
  • 标记为 jQuery。那么这个是重复的吗? stackoverflow.com/questions/11913841/… - 我关闭了它,然后我看到了“带有属性的文本”,这无论如何都没有意义。 OP 需要显示带有或不带有他的意思的属性的 html 示例

标签: javascript jquery html angularjs


【解决方案1】:

使用

$('#attendacneLineChart').find('text[X]')

如果你想忽略一些具有特定属性的元素,你可以使用:not

$('#attendacneLineChart').find('text[X]:not([y])') // for more use 'text[X]:not([y]):not([z])'

【讨论】:

  • 不,这是完全错误的。请记住,我们说的是 Agnular,而不是 jQuery。
  • 谢谢!这是有效的.. 如果我想忽略某些具有特定属性的元素?
【解决方案2】:

我想在所有具有 x 属性的文本元素上绑定点击事件。

为此创建指令:

.directive('x', function() {
  return {
    link: function(scope, element) {
      element.click(function() {
        console.log('clicked')
      })
    }
  }
})

【讨论】:

    【解决方案3】:

    您可以使用 jquery [attribute='value'] 选择器来查找具有特定属性的元素。

    $("div > p[myAttr]").click(function(){
        console.log($(this).text());
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div>
        <p>Text1</p>
        <p myAttr="1">Text2</p>
        <p>Text3</p>
        <p myAttr>Text4</p>
    </div>

    【讨论】:

      猜你喜欢
      • 2021-05-24
      • 1970-01-01
      • 2011-07-17
      • 2023-02-25
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多