按隐藏字段的值删除隐藏字段

Delete a hidden field by its value

本文关键字:隐藏 字段 删除      更新时间:2023-09-26

我有一个页面,其中包含一些看起来像这样的值:

 <div id="productList" >
   <input type="hidden" name="product[0].id" value="21">
   <div id="21" >BeanCounter</div>
   <input type="hidden" name="product[1].id" value="22">
   <div id="22" >CallGate</div>
</div>

现在我想删除带有 value=21 的隐藏字段和带有 id=21 的div .

我有这个:

function remove(id){
    var remove = $(id);
    $('productList').removeChild(remove);

但是如何删除隐藏字段?你能通过一个对象的值来获取它吗?

编辑错过了mootools标签,不确定jquery标签来自哪里。我想mootools并不常见,但希望这可以用普通的javascript来完成。

嗯标签又改回了jquery?

Mootools 解决方案:

function remove(id){
    $('productList').getElements('input[value="' + id + '"], div[id="' + id + '"]').destroy();
}

j查询解决方案:

function remove(id){
    $('input[value="' + id + '"], div[id="' + id + '"]').remove();
}

使用编辑帖子中提到的plain javascript

var checkVal = '21';
var parentDiv = document.getElementById('productList');
var inps = parentDiv.getElementsByTagName('input');
var inpRemove = null;
//Get the div to be removed
var divRemove = document.getElementById(checkVal);
for(var i=0; i<inps.length; i++)
{
   if(inps[i].value == checkVal)
   {
      //Get the input to be removed (Assuming only input with same value)
      inpRemove = inps[i];
      break;
   }
}
//Remove both here
parentDiv.removeChild(inpRemove);
parentDiv.removeChild(divRemove);
$("DIV#21, INPUT[value='21']").remove()