有一段 HTML代码 其中包含了input textarea select如<input type='' value='3' ....>   替换成3
<textarea >123</textarea>     替换成123<select> 
<option value=''>1</option>
<option value='' select>2</option>       替换成2
<option value=''>3</option>
</select>想替换掉这些标签只显示 值部分如何替换????

解决方案 »

  1.   

    我的意见:
    用document.getElementsByTagName('*');
    获得所有的DOM节点,对DOM节点的nodeName进行判断。当nodeName == input 、textarea、select的时候,进行替换。由于input 和textarea有value属性,可以直接替换他们能看见的部分。而select你必须单独处理一下。你要替换他显示的内容,就替换选项中的text属性。
    OK?
    思路给你了。
    === 结贴,给分 ===
    得到满意的答案,立即结贴给分,是一种良好的习惯和美德
      

  2.   

    document.getElementsByTagName 可以获取到他的区域部分吗如<input ....> 能获取这样的内容??
      

  3.   

    下面的代码,理论上可以替换textarea我这里却不行,
    另外select这里应该是<option value='' selected>2 </option> 才能替换var els=document.getElementsByTagName("*");
    var length=els.length;
    for(var i=0;i<length;i++) {
    var cur=els[i];
    if(typeof(cur)!="undefined" && typeof(cur.nodeName)!="undefined") {
    switch(cur.nodeName.toUpperCase()) {
    case "INPUT":
    case "TEXTAREA":
    var n=document.createTextNode(cur.value);
    cur.parentNode.replaceChild(n,cur);
    break;
    case "SELECT":
    var n=document.createTextNode(cur.options[cur.selectedIndex].text);
    cur.parentNode.replaceChild(n,cur);
    break;
    default:
    //alert(cur.nodeName);
    break;
    }
    }
    }
      

  4.   

    楼主,说的不明了。你是想获取页面字符串“<input type='text'/>”呢,还是想获取页面的DOM节点?
    如果是要获取节点,document.getElementsByTagName('*')这个方法能获得页面多有的节点,包括html、head、body、title、input、textarea、select等等,一切页面的节点。=== 结贴,给分 ===
    得到满意的答案,立即结贴给分,是一种良好的习惯和美德
      

  5.   

    只对INPUT text进行值的替换
    其他如 radio checkbox 作另外的处理 考虑到性能 我不会匹配*
      

  6.   


    代码如下:var o = document.getElementsByTagName('input');
    for(var i = 0 ; o[i]; i++){
        switch(o[i].type){
            case 'text':
                   //your code
            break;
            case 'radio':
                   //your code
            break;
            case 'checkbox':
                   //your code
            break;
        }
    }=== 结贴,给分 ===
    得到满意的答案,立即结贴给分,是一种良好的习惯和美德
      

  7.   

    $("input[type='text'],select,textarea").each(function(){
    var val=this.value;
    jQuery(this).replaceWith(val);
    });