Javascript-在<;之间获取文本;李>;凭身份证

Javascript-在<;之间获取文本;李>;凭身份证,javascript,jquery,Javascript,Jquery,我正试图编写一些javascript来获取li元素(1-16)的内部文本,并将它们放入隐藏字段中 var myValue9 = document.getElementById("fileName9").value; oForm.elements["fileName9"].value = myValue9; <input name="fileName9" type="hidden" id="fileName9" /> <li id="wavName9">

我正试图编写一些javascript来获取li元素(1-16)的内部文本,并将它们放入隐藏字段中

   var myValue9 = document.getElementById("fileName9").value;
   oForm.elements["fileName9"].value = myValue9;


 <input name="fileName9" type="hidden" id="fileName9" />

<li id="wavName9"> Some Text </li> 
var myValue9=document.getElementById(“fileName9”).value;
oForm.elements[“fileName9”].value=myValue9;
  • 一些文本

  • 如何返回
  • 之间的文本并将其放入隐藏字段?

    li标记没有
    .value
    属性。使用纯javascript,您可以这样做:

    oForm.elements["fileName9"].value = document.getElementById("wavName9").innerHTML;
    
    或者,要从1到16执行所有这些操作,可以使用以下循环:

    for (var i = 1; i <= 16; i++) {
        oForm.elements["fileName" + i].value = document.getElementById("wavName" + i).innerHTML;
    }
    
    或者,从1到16执行所有操作:

    for (var i = 1; i <= 16; i++) {
        $("#fileName" + i).val($("#wavName" + i).text());
    }
    
    for(var i=1;i使用jQuery来完成它

    var myvar = $("#wavName9").html()
    
    简单JavaScript:

    document.getElementById("fileName9").value = document.getElementById("wavName9").innerText;
    
    在本例中,您也可以使用innerHTML,但这也将为您提供元素包含的HTML。

    使用jQuery:

    $('#fileName9').val($('#wavName9').text());
    
    请注意,您可以将
    .text()
    更改为。
    html()
    以返回html结构,而不仅仅是文本

    您可以为多个
  • 自动执行此操作,如下所示:

    $('li[id^="wavName"]').each(function () {
        var number = this.id.replace('waveName', '');
        $('#fileName' + number).val($(this).text());
    });
    

    这将选择所有
  • 的who's id以“wavName”开头,并将文本存储在隐藏输入中的
  • 标记中,who's id以“fileName”开头,以与
  • 标记相同的整数结尾。

    我认为这将适用于所有的li

    $("li[id^=wavName]").each(function(){
    var $this = $(this);
    $this.closest("input[id^=fileName]").val($this.text())
    });
    

    使用id创建li,其结构如下:listitem-n,其中n为1-16,输入字段采用相同的结构hiddeninputs-n(n=1-16)

    使用jfriend00的代码,将其添加到将遍历16次的循环中,增加一个计数变量,您将使用该变量将数据从列表项传输到隐藏输入

    var count = 0;
    for( i=0; i < 16; i++){
      count ++;
    
      $("form #hiddeninput-"+count).val($("#listitem-"+count).text());
    
    }
    
    var计数=0;
    对于(i=0;i<16;i++){
    计数++;
    $($(form#hiddeninput-“+count).val($(#listitem-“+count).text());
    }
    
    更好地验证代码,但总的想法是这样的


    您还可以从头开始在javascript中创建隐藏字段,这将使代码更加稳定,因为在执行js时表单中丢失隐藏字段的可能性更小。

    添加整个框架来解决单个javascript问题可能不是正确的解决方案。@JimSchubert:OP将问题标记为th“jquery”,所以Rob没有添加任何内容。@mblase75同意,但看看帖子,OP显然没有使用jquery。我认为Firefox不支持innerText-你必须在Firefox上使用textContent。
    var count = 0;
    for( i=0; i < 16; i++){
      count ++;
    
      $("form #hiddeninput-"+count).val($("#listitem-"+count).text());
    
    }