我有一个onclick
如下
<div class="tablinks active" onclick="openmarket(event,this)" data-uid="1">
openmarket
功能如下
function openmarket(evt, obj) {
var i, tabcontent2, tablinks2;
tabcontent2 = document.getElementsByClassName("tabcontent2");
for (i = 0; i < tabcontent2.length; i++) {
tabcontent2[i].style.display = "none";
}
tablinks2 = document.getElementsByClassName("tablinks2");
for (i = 0; i < tablinks2.length; i++) {
tablinks2[i].className = tablinks2[i].className.replace(" active", "");
}
document.getElementById(obj.getAttribute('data-uid')).style.display = "block";
evt.currentTarget.className += " active";
}
这里我在这个函数中传递了2个参数,1)事件
2)对象
现在我尝试点击JS这个div,如下所示。
$("div [data-uid='1']").click();
但它不会起作用,因为我猜参数evt
无效或与它应该不匹配。
任何人都可以帮助我吗?
谢谢。
修改 我收到了以下错误。
无法读取属性&#39; className&#39;未定义的
,错误行为evt.currentTarget.className += " active";
答案 0 :(得分:-1)
您的选择器查询错误
更改$("div [data-uid='1']").click();
到$("div[data-uid='1']").click();
这将返回jqueryclick click事件而不是鼠标单击事件
答案 1 :(得分:-1)
您可以使用简单的javascript:
效果很好。我只有一个div,use和id而不是一个类。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<!--I wish to append it here-->
<body>
<div class="tablinks active uid1" onclick="openmarket(event,this)"
data-uid="1" style="height:30px;width:50px;background-color:red;">
</body>
</html>
<script type="text/javascript">
function openmarket(evt, obj) {
var i, tabcontent2, tablinks2;
tabcontent2 = document.getElementsByClassName("tabcontent2");
for (i = 0; i < tabcontent2.length; i++) {
tabcontent2[i].style.display = "none";
}
tablinks2 = document.getElementsByClassName("tablinks2");
for (i = 0; i < tablinks2.length; i++) {
tablinks2[i].className = tablinks2[i].className.replace(" active", "");
}
document.getElementById(obj.getAttribute('data-uid')).style.display = "block";
evt.currentTarget.className += " active";
}
var list=document.getElementsByClassName("uid1");
for(var i=0;i<list.length;i++){
list[i].click();
}
</script>