我需要使用父级div的类来分配变量。
这是HTML:
<li class="task" id="task_10">
<div class="10">
<a href="/tasks/10">
David Smith
:
Demo for Joe
<br>
</a><a href="#" rel="taskpopup" id="taskpopup" data-bb="confirm" class="bb-dialog btn-small btn-primary">Update</a>
</div>
</li>
这是我尝试过的:
$("[rel=taskpopup]").click(function() {
return bootbox.prompt("New Update:", function(result) {
var taskid;
if (result === null) {
return 'false';
} else {
taskid = $(this).parent.className;
...
行不通的是:
taskid = $(this).parent.className;
它应该是什么?
谢谢!
答案 0 :(得分:4)
由于你似乎在使用jQuery,为什么不使用这个(jQuery)方式:
taskid = $(this).parent().attr("class");
以下是您使用JavaScript的方式(如果这是您真正想要的):
taskid = this.parentNode.className
修改强>
您也可以使用closest
。
taskid = $(this).closest("div").attr("class");
答案 1 :(得分:2)
您尝试的实际上更接近非jQuery解决方案:
this.parentNode.className;
或:
this.parentElement.className;
答案 2 :(得分:0)
首先,您使用父className的语法是错误的。 其次,你在bootbox.prompt的函数下调用$(this)。 你应该在之前设置它。
$("[rel=taskpopup]").click(function() {
var selector = $(this);
return bootbox.prompt("New Update:", function(result) {
var taskid;
if (result === null) {
return 'false';
} else {
taskid = $(selector).parent().attr("class");