jquery 在JavaScript中单击时获取链接的文本

56lgkhnf  于 2023-08-04  发布在  jQuery
关注(0)|答案(3)|浏览(143)

下面是一个URL的例子,是在一个网站(项目,我继承)。
当点击链接时,我需要得到文本“点击链接”。
我已经在网上搜索过了,所有的建议都不起作用。
任何帮助都是感激的。

<a href="site/page" onclick="loadContent('https://site/page.com');">
   <span class="navitem">Click Link</span>
 </a>

字符串
span标记中的文本。
我试过了

$('. navitem').on('click', 'a', function() {
    var text = $(this).text();
});


但控制台日志显示$ not defined。我也试过

$('a').live('click', function() {
    window.location.href = $(this).closest('span').text();
});

noj0wjuj

noj0wjuj1#

document.querySelector('a').addEventListener('click', function() {
    var text = this.querySelector('span').textContent
    
    // Do anything with text
    console.log(text)
})

字符串

kb5ga3dv

kb5ga3dv2#

您的第一个代码段包含两个错误。将此更改为

$('.navitem').on('click', function ()
  {
      var text = $(this).text();
       window.location.href = text; //?? What eveer you want to do that 
  });

字符串
'.'和'navitem'之间有一个不必要的空格。另一个在on方法中。我删除了传递的参数'a'。
根据你最后的评论-在你的问题下面-你必须把这个 Package 成

$(document).ready(function()
{
$('.navitem').on('click', function ()
  {
      var text = $(this).text();
       window.location.href = text; //?? What eveer you want to do that 
  }); 
});


另一点是你的html代码片段。所呈现的代码没有意义:

<a href="site/page" onclick="loadContent('https://site/page.com');">
<span>...</span>
</a>


您的a标记与您的span标记重叠,href属性与onclick属性重叠,因此href的值将首先执行。将不会执行为span元素添加的代码。

n3h0vuf2

n3h0vuf23#

在下面的jQuery代码中:

$('.navitem').on('click', 'a', function() {
    var text = $(this).text();
});

字符串
你有deleget事件在anavitem在你的情况是不正确的.它应该是$('a').on('click', '.navitem')。我在下面的片段中更新了这个点击事件。

$('.navitem').off("click").on('click', function(e) {
  e.preventDefault();
  var text = $(this).text();
  console.log(text);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="site/page" onclick="loadContent('https://site/page.com');">
  <span class="navitem">Click Link</span>
</a>

的数据
类似地,在第二个代码中使用live方法时,可能会得到
未捕获的类型错误:$(...).live不是函数
这是因为自jQuery 1.9以来,live API已被弃用

相关问题