将删除的元素ID传递给函数

时间:2014-07-30 11:07:28

标签: javascript html

我是一个完整的javascript新手,很抱歉愚蠢的问题...... 我有一个带有元素的html页面。 elements具有boottsrap下拉按钮,用于删除,锁定和编辑功能。问题是我如何将已删除元素的ID传递给javascript函数,这个函数让我在json和数据库中做了相应的更改。这是我所写的功能,但由于某种原因它不起作用并返回NaN ...任何想法有什么问题吗?

元素的html示例:

<tr>
  <td>
    <div class="droptrue" id="sortable1" style="margin-left: 2em">
      <div id="1B">
        <ul>
          <li class="ui-state-default">
            <textarea cols="18" id="1" name="1"
              placeholder="Type here .." rows="3" spellcheck="true" 
              style="overflow: auto;resize: none; resize:vertical;"
              tabindex="4">
            </textarea>

            <div class="btn-group">
              <button class="btn btn-default btn-xs dropdown-toggle"
                data-toggle="dropdown" type="button">Action
                <span class="caret"></span>
              </button>

              <ul class="dropdown-menu">
                <li>
                  <a class="del" href="#" id="1">Delete</a>
                </li>

                <li>
                  <a class="lok" href="#">Lock</a>
                </li>

                <li>
                  <a class="edt" href="#">Edit</a>
                </li>

                <li class="divider"></li>

                <li>
                  <a href="#">Share</a>
                </li>
              </ul>
            </div>
          </li>
        </ul>
      </div>
    </div>
  </td>
</tr>

function removeDummy( n ) {
    var elem = document.getElementById(n);
    elem.parentNode.removeChild(elem);
    return false;
}

$(function(){

  $('.del').click(function() {
    var id = parseInt(this.id.substring(4));
    alert(id);
    removeDummy("1B");
    return false;
  });
});

无法弄清楚它有什么问题,请帮忙吗? 感谢名单

1 个答案:

答案 0 :(得分:0)

正如oGeez所说,id应该是唯一的,你可能会遇到问题。因此,使用data-id并通过jquery .data()函数进行访问。

你警告正在返回NaN但是因为this.id为null。这不是jQuery对象,因此您需要将其包装在$(this)中,然后您可以使用$(this).data('id')获取ID。示例http://jsfiddle.net/28etb/