函数:
function wrap()
{
var object=event.srcElement;
alert(object.tagName)
if(object.tagName=='TD')
{
   object.style.backgroundColor="#f0f8ff";--颜色值你可以设一个变量传入
}
}然后在table中的onclick中调用wrap();<table id=table1 onclick="wrap()">
<tr><td>
.......
</td></tr>
</table>

解决方案 »

  1.   

    函数:
    function wrap(color)
    {
    var object=event.srcElement;
    if(object.tagName=='TD')
    {
       object.style.backgroundColor=color;
    }
    }然后在table中的onclick中调用wrap();<table onclick="wrap('#F0F8FF')">
    <tr><td>
    .......
    </td></tr>
    </table>
      

  2.   

    <td width="33%" onclick="this.bgColor='red'"> bbb</td>
      

  3.   

    <script>
    function wrap()
    {
      var trs=document.getElementsByTagName('tr');
      for(var i=0;i<trs.length;i++)
      {
         trs[i].style.backgroundColor='red';
      }   
    }
    </script>
    <body>
    <table>
    <tr><td>
    <script>
    wrap();
    </script>
    </td></tr>
    </table>
    </body>
      

  4.   

    各位,请看清题目,html那部份代码是已经封装的了是动不了的,只提供那个javascript的函数做为接口,只能改这个函数。也许是我没说清楚,我不是要将所有的td的背景都要换,而只有目的的改变某一个td的背景色,vivanfdlpw的方案不太满足我的需求,而且会有性能上的问题。
      

  5.   

    <script>
    function wrap(){
    document.getElementsByTagName("script")[1].parentNode.style.background='blue';
    }
    </script>
    <table>
    <tr><td>td1
    <script>
    wrap();
    </script>
    </td><td>td2</td></tr>
    </table>
      

  6.   

    百合心:这个<script>标签在文档的很多地方都会有的。这样做好像不太行。
      

  7.   

    你需要改变的td是如何定位的?改变其中有<script>的td?
      

  8.   

    <script>
      function changeColor()
      {
       var tdArray = document.getElementsByTagName("td");
       tdArray[0].style.backgroundColor='skyblue';
      }
    </script>
      

  9.   

    百合心:是要改变TD的背景色,但页面的其它地方同样会有〈SCRIPT〉标签。或许这里提提这需求的背景,这个需求源自于一个JAVASCRIPT的菜单,这里的TD就是每一个菜单的单元格,WRAP()就是菜单用于输出菜单名的接口,现在,我们就是需要按某种条件而把个别的菜单项的背景色更换。
      

  10.   

    是很多td都有<script>wrap();</script>,而要改变其中的部分<td>背景色?那以什么条件作为区分呢?wrap带参数吗?
      

  11.   

    "td,tr,及table都是没有ID或name的"
    老大,谁告诉你的td,tr,table没有ID属性呀 ,
      

  12.   

    <script language="javascript">
    function wrap(yourColor, yourText)
    {
       document.write("<div style=\"height:100%;width:100%;background-color:" + yourColor + "\">" + yourText + "<\/div>");
    }
    </script>
      

  13.   

    百合心:WRAP的函数签名是由我们自已确定的。chuan122345:我看源代码看到的。别跟我说那就改源代码这种话,因为是跟vendar买的产品,怕改了后影响以后的升级。ivee:谢谢你的回复,我会试试你提供的这种方法.
      

  14.   

    <body>
    <table>
    <tr><td>AAAAAAAA</td></tr>
    </table>
    </body>
    <script>
    var style;
    if(document.styleSheets.length==0)
    {
       style=document.createStyleSheet(0);
    }
    else
    {
       style=document.styleSheets[0];
    }style.addRule('td','background-color:blue');
    </script>
      

  15.   

    vivianfdlpw: 请看清楚问题,不是所有的td都要换背景色.
      

  16.   

    楼主说白了就是要用wrap获得<script>的this功能,好象没什么好办法,你还是改思路吧
      

  17.   

    做是可以做到,最开始的设计者应该好好反省代码如下<script>
    function wrap(){
    document.write("<iframe style='display:none' onload=this.parentElement.style.backgroundColor='red' src='about:blank'/>");
    }
    </script>.....
    <table>
    <tr><td>fdsaf dsfdsafdas
    <script>
    wrap();
    </script>
    </td></tr>
    </table>
      

  18.   

    JK_10000:这办法是可以,但我还得要在td内输出菜单名,我总不可能为每一个菜单建一个PAGE吧?而且,菜单一多的话,我想性能是一大问题。
      

  19.   

    to All:
    请留意,这产品不是我设计的,是从产家卖回来的,但就缺我们想要的这一功能,我们找到这一接口,所以只好从这个接口上做文章了。
      

  20.   

    回复人: marcoleung(鲜橙) ( ) 信誉:100  2005-9-16 12:46:02  得分: 0  
    ...这个需求源自于一个JAVASCRIPT的菜单...----还没注意到,原来又是个跟菜单有关的,一看到跟菜单有关的问题就不爽
    菜单是发自谁的创意,你最好就去问他。
    你都花了钱,还有什么不好问的
      
     
      

  21.   

    改了一下,
    两百条记录时在两秒时间内
    <script>
    function wrap(){
    document.write("<font style='abcdef:expression(this.parentElement.style.backgroundColor=\"red\");this.removeNode(true);)'/>");
    }
    </script>.....
    <table>
    <tr><td>fdsaf dsfdsafdas
    <script>
    wrap();
    </script>
    </td></tr>
    </table>
      

  22.   

    sorry,上面的代码有些问题,作些改动
    <script>
    function wrap(){
    document.write("<font id=jkjkjkjkjkjk style='abcdef:expression(this.parentElement.style.backgroundColor=\"red\");'/>");
    }
    </script>
    <script defer>
    function clearJkObjs()//清除临时加的对象
    {
    var jkObjs=document.getElementsByName("jkjkjkjkjkjk");
    for(var i=0;i<jkObjs.length;)
    jkObjs[i].removeNode(true);
    }
    window.setTimeout(clearJkObjs,10);
    </script>.....
    <table>
    <tr><td>aaa<script>wrap();</script></td></tr>
    <tr><td>aaa<script>wrap();</script></td></tr>
    <tr><td>aaa<script>wrap();</script></td></tr>
    </table>
      

  23.   

    谢谢大家的解答。 菜单的菜单名也是由wrap输出的。
      

  24.   

    用JK的方法,传个参数就可以输出菜单名了啊。
    <script>
    function wrap(text){
    document.write(text+"<font id=jkjkjkjkjkjk style='abcdef:expression(this.parentElement.style.backgroundColor=\"red\");'/>");
    }
    </script>
    <script defer>
    function clearJkObjs()//清除临时加的对象
    {
    var jkObjs=document.getElementsByName("jkjkjkjkjkjk");
    for(var i=0;i<jkObjs.length;)
    jkObjs[i].removeNode(true);
    }
    window.setTimeout(clearJkObjs,10);
    </script>
    <table>
    <tr><td><script>wrap("a");</script></td></tr>
    <tr><td><script>wrap("b");</script></td></tr>
    <tr><td><script>wrap("c");</script></td></tr>
    </table>或者用ivee的方法也可以。
    <script language="javascript">
    function wrap(yourColor, yourText)
    {
       document.write("<div style=\"height:100%;width:100%;background-color:" + yourColor + "\">" + yourText + "<\/div>");
    }
    </script>
    <table>
    <tr>
    <td>
    <script>
    wrap('yellow','menu1');
    </script>
    </td>
    <td>menu2</td>
    <td>
    <script>
    wrap('red','menu3');
    </script></td>
    </tr>
    </table>