下拉框未按预期删除。
将Materialize从0.97版本迁移到1.0.0后,该功能不起作用。仅删除下拉框中的文本,而不是完整的元素。
M.AutoInit();
function removeEdit() {
var el = document.getElementById("edit");
el.parentNode.removeChild(el);
}
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
<!-- Record actions -->
<ul id="actions" class="dropdown-content">
<li><a href="#" id="edit" onclick="alert('edit')" class="black-text">Edit</a></li>
<li><a href="#" id="delete" onclick="alert('delete')" class="black-text">Delete</a></li>
</ul>
<button type="button" onclick="removeEdit()">Remove element edit</button>
<table class="bordered">
<thead class='t-h'>
<tr class="tr-h" >
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
</thead>
<tbody class='t-body'>
<tr id="1" class="tr-d dropdown-trigger" href="#" hover="false" data-target="actions">
<td>Row 1, column 1</td>
<td>Row 1, column 2</td>
<td>Row 1, column 3</td>
</tr>
<tr id="2" class="tr-d dropdown-trigger" href="#" hover="false" data-target="actions">
<td>Row 2, column 1</td>
<td>Row 2, column 2</td>
<td>Row 2, column 3</td>
</tr>
</tbody>
</table>
</html>
答案 0 :(得分:1)
在removeEdit
函数中,el
代表选定的<a>
,因此el.parentNode
代表选定的<li>
。
使用el.parentNode.removeChild(el)
时,意味着删除所选<li>
的子项,因此它会删除<a>
标记。
更改:
el.parentNode.removeChild(el);
收件人:
el.parentNode.remove();
它会删除所选的<li>
。