在我的例子中使用jquery选择器和变量失败

时间:2015-04-04 08:15:42

标签: javascript jquery

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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>

答案 2 :(得分:0)

您还可以使用附加类并使用     $(这)一个.remove() 代替。

如果要删除父容器,也可以扩展到父容器     $(本).parent()。除去()

示例:

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

然后使用Jquery:

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