在我的情况下,使用带有变量失败的 jquery 选择器

use jquery selector with variable failed in my case

本文关键字:失败 变量 jquery 选择器 情况下 我的      更新时间:2023-09-26
var x = 1
$('#item+x .list').remove();

如何将 x 插入选择器? 上面的代码不起作用,我也尝试了 $('#item"'x'" .list'(。

adeneo 和 Vijay 都对如何按照你的要求去做是正确的。

我要提到的一件事是,IMO,使用增量ID(item1item2等(是不好的做法,你最终可能会得到一些非常混乱的代码。

对于这样的事情,我更愿意为所有元素提供一个类而不是增量 id,并使用 eq() 来定位元素。请记住,eq:()基于0的数组概念工作,因此eq:(0)将针对第一个元素,eq:(1)将针对第二个元素,依此类推......

这是一个人为的例子:

var x = 1
$('.items:eq('+x+') .list').remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="items">
  <ul class="list">
    <li>list 1</li>
  </ul>
 </div>
<div class="items">
  <ul class="list">
    <li>list 2</li>
  </ul>
 </div>
<div class="items">
  <ul class="list">
    <li>list 3</li>
  </ul>
 </div>
<div class="items">
  <ul class="list">
    <li>list 4</li>
  </ul>
 </div>
<div class="items">
  <ul class="list">
    <li>list 5</li>
  </ul>
 </div>

试试这个希望它会有所帮助

var x = 1;
$('#item' + x + ' .list').remove();

你也使用附加一个类并使用 $(this(.remove((相反。

如果要删除父容器,也可以扩展到父容器 $(this(.parent((.remove((

例:

<ul>
  <li class="item">Item1</li>
  <li class="item">Item2</li>
</ul>

然后使用 Jquery:

$('.item').click(function() {
   $(this).remove();
})