如何在jquery中将链接元素的值动态传递给函数

How to pass value of a link element dynamically in jquery to a function?

本文关键字:动态 函数 元素 jquery 链接      更新时间:2023-09-26

我有一个链接元素,如下所示,该链接元素的值是动态设置的(异步)。

标签的值将为null,直到ajax调用异步设置为止。

<a href="#"  onclick="myFuncton(**I want to pass the label element value - testClass**);"><label class="testClass"></label></a>

我想将标签的值传递给一个JavaScript函数。

 <script>
  function myFunction(label value){
  alert(label value);
  }
  </script>

我正在努力找出实现这一目标的最佳方法。有人能帮我提些建议吗?

我建议使用jQuery事件处理程序。。。

话虽如此,在onclick的上下文中,this将引用锚元素,因此

function myFuncton(value) {
  alert(value);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="#" onclick="myFuncton($(this).find('label.testClass').text());">
  <label class="testClass">ddd</label>
</a>


使用jQuery事件处理程序

jQuery(function($) {
  $('.myanchor').click(function(e) {
    e.preventDefault();
    var label = $(this).find('.testClass').text();
    alert(label)
  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="#" class="myanchor">
  <label class="testClass">some text</label>
</a>

使用此html第一个

onclick="printLabel()"

然后JS

function myFunction(label){
        alert(label);
}
function printLabel(){
        myFunction($('.testClass').text());
}

在onclick属性中使用JS代码是一种非常糟糕的做法,该属性只能用于调用函数

我认为函数不需要参数。您可以使用"this"属性获取值。您可以尝试以下操作之一:

使用纯JavaScript:

this.children[0].innerText;

使用JQuery:

$('.testClass', this).text();