javascript - 查找并删除通用元素

标签 javascript jquery

显然,这是一个通用示例,我必须根据通用情况进行调整。

我想删除一个没有 ID 或类的 DOM 元素。我可以使用很多方法,但我想知道我是否可以不添加类(例如),JQuery 是否可以进行这种匹配。

做错了什么,或者不可能?

谢谢


很抱歉第一次发布这个问题,我正在覆盖 div 结果

$newTest 的结果是它没有删除最后一段 $last

$(document).ready(function() {

  var $last = $('#test').children().last(); // Get a generic element
  var $newTest = $('#test').clone(); // Clone my DOM elements

  $newTest.find($last).remove(); 
  // Find and remove the element!
  // This does not work!

  $('#result').html($newTest.html() + '<hr>' + $last.html());

})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="test">
  <p>freddy</p>
  <p>fred</p>
  <p>freddyx</p>
  <p>freddy</p>
</div>
<hr>
<div id="result">

</div>

最佳答案

我认为您尝试做的事情的问题在于 .clone()

From the docs, .clone()

Description: Create a deep copy of the set of matched elements.

这里的关键词是深层复制,意思是$newTest 中的所有内容都不同于#test。 AFAIK,这意味着您保存为指针的变量 $last 无法在 $newTest 中找到。 $last 元素在那里不存在。

可能的解决方案?

我不知道这是否适用于您的用例,但由于您已经有一些任意选择器,您可以保存该选择器并使用 eval() 将该选择器应用于克隆对象:

$(document).ready(function() {

  var $last = $($('#test').children().last()); // Get a generic element
  
  var selector = '.children().last()';
  
  var $newTest = $('#test').clone(); // Clone my DOM elements
	
  $newTest.find(eval('$newTest' + selector)).remove();
  // Find and remove the element!
  // This does not work, $newTest is empty!

  $('#result').html($newTest);
  $('#result2').html('<hr>' + $last.html());

})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="test">
  <p>freddy</p>
  <p>fred</p>
  <p>freddyx</p>
  <p>freddy</p>
</div>
<hr>
<div id="result">

</div>
<hr>
<div id="result2">

</div>

关于javascript - 查找并删除通用元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46649026/

相关文章:

javascript - 如何在 Javascript 中执行以 base64 编码的代码

javascript - 为什么会出现 Uncaught TypeError : Cannot read property 'dataSource' of undefined

javascript - 如何在此 Javascript 算法中管理内存?

我在表单上使用 jquery .validate() 后,jQuery .submit() 不起作用

javascript - 如何检测鼠标光标是否超出元素?

隐藏覆盖层时,Javascript 防止底层点击

javascript - 为什么 onclick 事件在 Firefox 中不起作用?

javascript - 从当前 URL 获取#id

javascript - 我应该如何传递我的 Prop 以获得有效的 Array[Object]

javascript - 在IE8中替换 "find"进行优化?