如何使用javascript onclick事件处理程序同一类锚元素
how to use javascript onclick event handler for same class of anchor elements
这是我的javascript:
这里我使用ajax get请求抓取数据并调用这个函数:
function fetch_user_data(data) {
$(user_board['results']).each(function(attributes,value){
$('.main_container').append(
'<div class="pin" id='+attributes+'>'
<div class="holder">'
<a class="image" href="" title="Photo number 1" pin_id='+ attributes +'>'
<img src="'+ value['profile'] + '" />'
</a>'
<p class="desc">' + value['name'] + '</p>'
<ul id="pin_actions">'
<li id="awe"><a href="#" onClick="onTabAction('+value['user_id']+'); return false;"></a></li>'
<li id="cof"><a href="#" onClick="onTabAction('+value['user_id']+'); return false;" ></a></li>'
<li id="ban"><a href="#" onClick="onTabAction('+value['user_id']+'); return false;" ></a></li>'
</ul>'
</div>'
);
});
}
function onTabAction(id,action) {
console.log(id);
console.log(action);
}
这里有一个问题,我的数据包含33个对象,然后根据对象有33个html框属于个人资料。我在锚标签中附加了onclick事件处理程序,并通过onTabAction自定义函数获得用户id。与id一起,我想得到一个字符串,如:onTabAction('+value['user_id']+',actionstr)
,但当我调用此函数并在console.log中打印输出:它打印用户id一次和字符串等于对象数量,如li#actionstr。简而言之,我想得到两个字符串和id,并使url查询其他url。请帮助我在这个东西上,也如果我得到字符串和id我必须从主页删除锚,因为我把锚放在其他页面。
这是一个工作示例,您发布的代码我不能使一个工作示例,因为大部分都缺失:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Example</title>
<style type="text/css">
.clickable{
cursor:pointer;
}
</style>
<script type="text/javascript" src="jquery-1.9.0.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var someData=["one","two","three"],
i=0,
user_id="my user id",
$main=$('.main_container');
for(i=0;i<someData.length;i++){
$main.append(
"<h1>"+someData[i]+"</h1>'
<ul id='"pin_actions'">'
<li class='"clickable'" data-action='awe'>awe</li>'
<li class='"clickable'" data-action='cof'>cof</li>'
<li class='"clickable'" data-action='ban'>ban</li>'
</ul>"
);
}
$main.attr("data-userID",user_id);
//attach onclick
$('.main_container').find("li").on("click",onTabAction);
});
function onTabAction(e) {
console.log("userID:",this.parentElement.parentElement.getAttribute("data-userID"));
console.log("action:",this.getAttribute("data-action"));
}
</script>
</head>
<body>
<div class="main_container">
</div>
</body>
</html>
相关文章:
- 如何按id查找两个类中任一类的子元素
- 不能对包含同一类的所有元素使用.replacement()
- 如何从同一元素中删除同一类
- 对同一类中的所有元素单击一次
- 向下滚动后如何用同一类逐个删除元素
- 单独检测共享同一类的元素
- 获取元素的第一类
- 在jQuery中,如何测试一个元素是否是同一类的多个元素中的第一个
- 将水印添加到具有一类水印的所有输入元素
- 如何使用javascript欺骗拖动同一类的所有元素
- 如何将样式应用于类的单个元素,同时从同一类的前一个元素中删除样式
- jQuery .text() 在同一类中的多个元素上
- 查找类为'的元素;x',忽略那些有class的'x'和另一类
- 如何从 jquery 中属于同一类成员的元素中获取所有不同的值
- 只在
- 的第一个子元素上应用JQuery属于某一类的
- 使用JavaScript,如何将相同的文本写入多个HTML元素,或者如何将文本写入同一类的所有HTML元素
- 如何为同一类的多个元素设置不同的位置
- 删除,,从同一类的所有元素中获取
- 获取同一类元素中的图像属性
- 单击任意img时隐藏一类元素