【问题标题】:Removing element using jquery使用 jquery 删除元素
【发布时间】:2015-07-08 05:31:14
【问题描述】:

我在我的程序中使用 jquery 令牌输入,根据选择列表更改,我需要将额外参数传递给搜索函数。我可以通过下面的代码来做到这一点。

$("#service").on('change', '.act_type', function () {  
qq = $(this).val();
var id = $(this).attr('id').split('-');
$("#token-input-code-" + id[1]).detach();
$("#code-"+id[1]).tokenInput("../Preapproval/Searchactivitycode?queryParam=q" + "&type=" + qq,{
theme: 'facebook',
preventDuplicates: true,
searchingText: 'Searching...',
tokenLimit: 1,
hintText: 'Activity code',
 });

行是动态创建的。我将在完成“选择”列表的更改时,请分离当前文本框,该文本输入已完成更改。否则,将通过保留旧文本框来创建一个新文本框。现在它正在分离旧的并创建一个具有相同 id 和 tokeninput 的新。搜索也成功。但我面临一个问题。

令牌输入$("#token-input-code-" + id[1]) 位于<ul><li></li></ul 之下,并且此 li 和 ul 没有被删除,因此每次我在选择列表中进行更改时,行顶部都会出现一条小线。 我怎样才能删除 ul 和 li。它没有 id 只有一个类,并且同一个类也用于表单中的另一个 ul 元素。

【问题讨论】:

  • 那么你想在空时删除 ul 和 li 吗?
  • 为什么要在创建具有相同 id 的新文件时将其分离?为什么不按要求更改内容/代码?
  • 亲爱的 ekuusela,是的,我需要在空时删除 ul 和 li
  • 亲爱的 Bhushan, 由于表格行是动态的,并且文本框附有 jquery 令牌输入,我无法做到这一点。我需要将额外的参数传递给 jquery tokeninput。如果只有默认参数我不必分离它

标签: jquery asp.net-mvc html asp.net-mvc-3


【解决方案1】:

试试:

$('ul:has(li:empty)').filter(function() { 
    return $(this).children().length === 1; 
}).remove();

DEMO

【讨论】:

    【解决方案2】:

    使用jquery的unwrap()

        var el = $('div[id^="token-input-code"]');
            el.parent('li').unwrap();
            el.parent('ul').unwrap();
    

    【讨论】:

      【解决方案3】:

      您可以使用这样的函数分离父元素:

      function detachInput(id) {
          var li = $('#' + id).closest('li');
          if (li.siblings().length === 0) {
              li.closest('ul').detach();
          } else {
              li.detach();
          }
      }
      

      这假定ul 元素可以包含多个li 元素,并且您只想在ul 为空时删除它。

      像这样调用它:

      detachInput("token-input-code-" + id[1]);
      

      你应该考虑你是真的想detach还是真的remove

      【讨论】:

      • 分离和移除的区别是什么?
      • 我链接到他们两个的文档。几乎在分离文档的最顶部解释了差异。
      • 太棒了..它工作正常..我将 .detached 更改为 .remove 因为我不想重复使用它。感谢您的帮助
      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 2013-07-18
      • 2010-11-01
      • 2011-09-23
      • 2023-03-24
      • 2013-10-02
      • 2011-01-04
      • 1970-01-01
      相关资源
      最近更新 更多