2014-10-07 60 views
0

我有一个链接元素如下,这个链接元素的值是动态设置(异步)。如何在jquery中动态地将链接元素的值传递给函数?

标签的值将为空,直到它通过异步调用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> 

我想弄清楚达到此目的的最佳方法。有人可以帮助我提供任何建议/想法吗?

+3

'的onclick =“myFuncton($(本).find( '标签')。文本( ));“' - 我会推荐使用jQuery事件处理程序 – 2014-10-07 02:39:20

回答

2

我会建议使用jQuery的事件处理程序...

话虽如此,thisonclick的上下文中将指锚元素,所以

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>

0

使用这个网站第一

onclick="printLabel()" 

然后JS

function myFunction(label){ 
     alert(label); 
} 

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

使用JS代码里面onclick属性是一个非常不好的做法,这个属性只应该用来调用函数

+0

通过代码维护的例子来领导永远不会太晚诚信和良好做法:http://stackoverflow.com/questions/6941483/onclick-vs-event-handler – Sukima 2014-10-07 03:03:17

0

我认为参数不是功能所必需的。您可以使用'this'属性来获取值。你可以尝试以下之一:

使用纯JavaScript:

this.children[0].innerText; 

使用jQuery:

$('.testClass', this).text(); 
相关问题