原来有一段程序 
<a href="#" onClick="alert(this.innerText)">1234</A>   能显示出<A>中内容的值
现在想改成这种格式的 <a href="javascript:alert(this.innerText)">(因为在dreamwearver中批量设置不方便)但是发现 js 不能再这种情况下返回this下面的所有属性所以请教各位高手,该如果得到返回值

解决方案 »

  1.   

    href没有this对象,还是使用onclick吧
    为兼容浏览器 innerText改成innerHTML,
      

  2.   

    如果onclick后不想指定href的链接 onclick="alert();return false;";
      

  3.   

    <a href="javascript:" onClick="alert(this.innerText)">1234 </A>
      

  4.   

    如果是(因为在dreamwearver中批量设置不方便) ,可以先javascript:alert(this.innerText),再把javascript:替换掉
      

  5.   

    <a href="javascript:alert(this.innerText)"> 这里this是指window对象
    给a一个id即可<a id="xx" href="javascript:alert(document.getElementById('xx').innerText);void(0);">
      

  6.   


    <a href="javascript:" onClick="alert(this.innerText)">1234 </A> 
      

  7.   

    1、依然用onclick:onclick="alert(this.innerHTML)"
    2、给a加id属性: herf="javascript:alert(document.getElementById('idName').innerHTML);void(0);"
      

  8.   

    这样行不行...<a href="javascript:void(0)">dsfgsdf</a>
    <a href="#">234sadfsdf</a>
    <a href="javascript:void(0)">76786578</a>
    <a href="#">sdfsd345345</a>
    <script language="javascript">
    function show()
    {
    var list=document.getElementsByTagName("a")
    for(var i=0;i<list.length;i++)
    {
    //alert(list[i].href)
    if(list[i].href=="javascript:void(0)")
    {
    list[i].onclick=function()
    {
    alert(this.innerHTML)
    }
    }
    }
    }
    show()
    </script>
      

  9.   

    解法大伙都说了, 我来说一下原因吧。
    html中可以利用javascript伪协议通过href触发javascript函数, 但是必须是在当前global范围内寻找函数, 也就是说通过href执行js的时候,执行环境this发生了变化,this指向了window.这和onclick不同:
    <a href="#" onclick="alert(this.innerText)">1234 </A>
    这里通过"alert(this.innerText)"构造了一个Function对象并且把这个link的onclick属性指向这个function. 所以这里的this指向这个连接A。