0

我需要为父 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;

应该是什么?

谢谢!

4

3 回答 3

4

既然您似乎在使用 jQuery,为什么不使用这种(jQuery)方式:

taskid = $(this).parent().attr("class");

下面是使用 JavaScript 的方法(如果这是你真正想要的):

taskid = this.parentNode.className

编辑

你也可以使用closest.

taskid = $(this).closest("div").attr("class");
于 2013-07-29T18:37:25.993 回答
2

您正在尝试的实际上更接近非 jQuery 解决方案:

this.parentNode.className;

或者:

this.parentElement.className;
于 2013-07-29T18:38:22.717 回答
0

首先,您使用父类名的语法是错误的。其次,在 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");
于 2013-07-29T18:55:03.543 回答