你如何循环和替换in​​nerHTML <option value =“”>

时间:2017-03-03 18:06:28

标签: javascript view innerhtml option

我有大约3000条记录,看起来像下面的代码。

<option value=" EGHT " />

当我查看页面源时,它输出以下代码。

<datalist>
<option value="   EGHT   " />
</datalist>

我在加载时的Javascript函数看起来像这样。

var datalist = document.getElementsByTagName('option');

document.addEventListener('DOMContentLoaded',function(){

     for(var g = 0; g < datalist.length; g++ ){
       var i =  datalist[g].value.trim(); 
         datalist[g].value.innerHTML = i;
     }


 });

我的目标是能够使用以下结果查看来源。

<option value="EGHT" />

3 个答案:

答案 0 :(得分:1)

您为选项设置了innerHTML,而不是value。你需要做这样的事情:

document.addEventListener('DOMContentLoaded', function() {
    var datalist = document.getElementsByTagName('option');
    for (var g = 0; g < datalist.length; g++) {
        var i = datalist[g].value.trim();
        datalist[g].value = i;
    }
});

答案 1 :(得分:0)

无需innerHTMLvalue应该:

datalist[g].value = i;

答案 2 :(得分:-1)

在jquery中你可以这样做:(编辑,我搞砸=()

/* get size of the array */
jsize len = (*env)->GetArrayLength(env, array);

for(int i=0; i<len; i++) {

  /* get the array at following indexes of array; it will be referecende by C pointer */
  jbooleanArray body = (*env)->GetObjectArrayElement(env, array, i);
  jsize innerLen = (*env)->GetArrayLength(env, body);

  jboolean *booleanBody = (*env)->GetBooleanArrayElements(env, body, 0);
  for(int j=0; j<innerLen; j++) {
    /* do some stuff */
    printf("Boolean value: %s\n", booleanBody[j] == JNI_TRUE ? "true" : "false");
  }
  /* release body when you decide it is no longer needed */
  (*env)->ReleaseBooleanArrayElements(env, array, booleanBody, 0);
}

我希望它可以提供帮助。