<ul class="Buttons">
<li><a href="#" onclick="myFunc(); return false;">Accept</a></li>
<li><a href="#" onclick="myFunc(); return false;">Reject</a></li>
<li><a href="#" onclick="myFunc(); return false;">On Hold</a></li>
<li><a href="#" onclick="myFunc(); return false;">Completed</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
在我的script.js中:
var myFunc = function () {
// I want to get the Text of the link e.g. if the first list item link is
// clicked, store "Accept" in a variable.
};
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
您可以将当前链接作为参数传递给函数:
<ul class="Buttons">
<li><a href="#" onclick="myFunc(this); return false;">Accept</a></li>
<li><a href="#" onclick="myFunc(this); return false;">Reject</a></li>
<li><a href="#" onclick="myFunc(this); return false;">On Hold</a></li>
<li><a href="#" onclick="myFunc(this); return false;">Completed</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
然后使用该innerHTML属性获取里面的文本:
var myFunc = function (link) {
alert(link.innerHTML);
};
Run Code Online (Sandbox Code Playgroud)
更新:
我没注意到你的问题实际上是用jQuery标记的.在这种情况下,我建议你不引人注意地订阅点击处理程序:
<ul class="Buttons">
<li><a href="#">Accept</a></li>
<li><a href="#">Reject</a></li>
<li><a href="#">On Hold</a></li>
<li><a href="#">Completed</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
并在一个单独的js文件中:
$(function() {
$('.Buttons a').click(function() {
alert($(this).text());
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
更新2:
有人询问如果动态生成这些锚点,如何分配这些点击处理程序.因此,我们假设您从以下标记开始:
<ul class="Buttons"></ul>
Run Code Online (Sandbox Code Playgroud)
然后当某些事件发生时(点击或其他)你动态添加一个锚:
$('<li/>', {
html: $('<a/>', {
href: '#',
text: 'some text ....',
click: myFunc
})
}).appendTo('.Buttons');
Run Code Online (Sandbox Code Playgroud)
你在myFunc某处定义的地方:
var myFunc = function() {
alert($(this).text());
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4001 次 |
| 最近记录: |