【问题标题】:How to get which link was clicked in jQuery如何获取在 jQuery 中单击了哪个链接
【发布时间】:2021-01-18 01:26:38
【问题描述】:

我想从多个链接块中获取文本 $(el).text() 并将其分配给 HTML 输入。 我正在使用 Laravel 和 Jquery。

我的 Blade 模板是从一些数据生成的独立组件。

<div class="some-class" id="some-id">
    <ol>
        @foreach ($data as $el)
            <li>
                <a href="javascript:;" class="some-a-class">{{ $el['name'] }}</a>
            </li>
        @endforeach
    </ol>
</div>

然后我正在研究如何捕捉链接的点击,从中获取文本,并将其传递给输入。

我的 jQuery 代码看起来像:

$('#some-id > a').on('click', function () {
    console.log(this.text());
})

从多个来源发现^上面的方式应该可以工作,但对我来说,它甚至不明白我点击了。

也许还有其他方法可以获取点击的链接名称?

谢谢。

【问题讨论】:

  • 试试这个 => $('#some-id a')console.log($(this).text()); = 应该可以正常工作。即使你有多个 lia 里面。
  • 删除&gt;。它是子选择器,但a 不是子选择器,它的级别比那个低
  • ...好的,当然。我认为您的代码中还有其他问题,问题中提供的code 中未提及。从你在这里提到的应该可以完美地工作。
  • @DanPlaton 试试这个 => $(document).on('click', '#some-id a', function () {console.log($(this).text());})
  • @DanPlaton 很高兴听到这个消息 - 编码愉快 :)

标签: javascript html jquery laravel laravel-blade


【解决方案1】:

将您的 jquery 选择器更改为:

$('#some-id ol li a')

现在您正在尝试选择其父元素为#some-ida 元素,但事实并非如此。元素的子代 (div &gt; p) 和元素的后代 (div p) 之间存在差异。

【讨论】:

    【解决方案2】:

    @AlwaysHelping 评论是我正在寻找的评论。

    $(document).on('click', '#some-id a', function () {console.log($(this).text());})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      相关资源
      最近更新 更多