刚才问题描述不清除,现在重新开一个帖子
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
  
<BODY>
<li onclick="需要解答的地方">test</li>
<TABLE id="tab">
&lt;script&gt;alert(2)&lt;/script&gt; //利用onclick事件读取这里的内容,并反编码,执行弹窗“2”
 
</TABLE>
</BODY>
</HTML>

解决方案 »

  1.   

    补充下,onclick后字符控制在30字符以内
      

  2.   

    什么奇怪的要求?//标准的
    <ul>
    <li onclick="eval(document.getElementById('tab').innerHTML)">test</li>
    </ul>
    <TABLE><tr><td id="tab">alert(2)</td></tr></TABLE>
    //合适你过分的要求,只能在IE下运行
    <ul>
    <li onclick="eval(tab.innerHTML)">test</li>
    </ul>
    <TABLE><tr><td id="tab">alert(2)</td></tr></TABLE>
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function change(){
    var p=document.getElementById("tab");
    var a=p.innerHTML;
    var m=a.replace("&lt;script&gt;","","g").replace("&lt;/script&gt;","","g");
    eval(m);
    }
    </script>
    </head><body>
    <li onclick="change()">test</li>
    <div id="tab">
    &lt;script&gt;alert(2)&lt;/script&gt; //利用onclick事件读取这里的内容,并反编码,执行弹窗“2”
    </div>
    </body>
    </html>
    这样试试
      

  4.   

    <script type="text/javascript">
    function unescapeHTML(str){
            var div = document.createElement('div'); 
            div.innerHTML = str.replace(/<[^>]+>/gi,"");
            return div.childNodes[0].nodeValue; 
    };
    function execScript(){
            var str=document.getElementById('tab').innerHTML;
            var arr=unescapeHTML(str).match(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/gi);
            for(var i=0;i<arr.length;i++){
                eval(arr[i].replace(/^<script.*?>/,"").replace(/<\/script>$/,""))
            }
    }
    </script>
    <input type="button" value="执行脚本" onclick="execScript()" />
        <TABLE><tr><td id="tab">&lt;script&gt;alert(2)&lt;/script&gt;&lt;script&gt;alert(3)&lt;/script&gt;</td></tr></TABLE>