求助各位高手:(简单的js问题) 如何用 得到目标的属性

sonicryu 2009-05-22 10:24:31
原来有一段程序
<a href="#" onClick="alert(this.innerText)">1234</A> 能显示出<A>中内容的值


现在想改成这种格式的 <a href="javascript:alert(this.innerText)">(因为在dreamwearver中批量设置不方便)

但是发现 js 不能再这种情况下返回this下面的所有属性

所以请教各位高手,该如果得到返回值

...全文
3392 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdtoo 2011-06-07
  • 打赏
  • 举报
回复
john3747cn 2009-05-22
  • 打赏
  • 举报
回复
学习
pt1314917 2009-05-22
  • 打赏
  • 举报
回复
顶楼上`
打字员 2009-05-22
  • 打赏
  • 举报
回复
这样行不行...

<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>
s_liangchao1s 2009-05-22
  • 打赏
  • 举报
回复
hookee 的正确
顺德早茶 2009-05-22
  • 打赏
  • 举报
回复
1、依然用onclick:onclick="alert(this.innerHTML)"
2、给a加id属性: herf="javascript:alert(document.getElementById('idName').innerHTML);void(0);"
lihan6415151528 2009-05-22
  • 打赏
  • 举报
回复

<a href="javascript:" onClick="alert(this.innerText)">1234 </A>
hookee 2009-05-22
  • 打赏
  • 举报
回复
<a href="javascript:alert(this.innerText)"> 这里this是指window对象
给a一个id即可<a id="xx" href="javascript:alert(document.getElementById('xx').innerText);void(0);">
fzfei2 2009-05-22
  • 打赏
  • 举报
回复
如果是(因为在dreamwearver中批量设置不方便) ,可以先javascript:alert(this.innerText),再把javascript:替换掉
  • 打赏
  • 举报
回复
<a href="javascript:" onClick="alert(this.innerText)">1234 </A>
路人乙e 2009-05-22
  • 打赏
  • 举报
回复
如果onclick后不想指定href的链接 onclick="alert();return false;";
路人乙e 2009-05-22
  • 打赏
  • 举报
回复
href没有this对象,还是使用onclick吧
为兼容浏览器 innerText改成innerHTML,
zxcv_168 2009-05-22
  • 打赏
  • 举报
回复
ding
sunxing007 2009-05-22
  • 打赏
  • 举报
回复
解法大伙都说了, 我来说一下原因吧。
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。
every888 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 Wintalen 的回复:]
1、依然用onclick:onclick="alert(this.innerHTML)"
2、给a加id属性: herf="javascript:alert(document.getElementById('idName').innerHTML);void(0);"
[/Quote]

正解

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧