<a href="dsfjlsdjf" onclick="testGet()">请教编写testGet()函数获取这个超链接href属性,限制如下
不能用
document.getElementById();
document.getElementsByName();
document.getElementsByTagName();
就是要获得哪个被点击的标签自身的对象
不能用
document.getElementById();
document.getElementsByName();
document.getElementsByTagName();
就是要获得哪个被点击的标签自身的对象
<a href="dsfjlsdjf" onclick="testGet(this)">test</a>
<SCRIPT LANGUAGE="JavaScript">
<!--
function testGet(o){
alert(o.href);
}
//-->
</SCRIPT>
<script>
function testGet(e){
var e = window.event || e;
var o = e.srcElement || e.target;
alert(o.href);
}
</script>
<SCRIPT LANGUAGE="JavaScript">
<!--
function testGet(o){
alert(o);
}
//-->
</SCRIPT>
我推介#2楼写法,不仅仅基于LZ的要求。
例如:有表单——<div id="show">
<li url="http://wwww/dddd.mp3">fdsfd</li>
<li url="http://wwww/wwe.mp3">fdsfd</li>
<li url="http://wwww/sdds.mp3">fdsfd</li>
</div>请写一个方法,使得点击每一行就能够获取对应的“url”值,要求兼容IE和FF,我的方法——<div id="show">
<li url="http://wwww/dddd.mp3">fdsfd</li>
<li url="http://wwww/wwe.mp3">fdsfd</li>
<li url="http://wwww/sdds.mp3">fdsfd</li>
</div><script type=text/javascript>
var $ = function(o){return document.getElementById(o) || o}
$("show").onclick = function(e){
var e = e || window.event;
var o = e.srcElement || e.target;
alert(o.getAttribute('url'))
//$("player").url = o.getAttribute('url')
}
</script>是否简洁明了些呢?
1、按照HTML的DOM标签、功能JS脚本、样式CSS分离的基本原则,应该如此写。不然的话得在每行链接代码中添加“onclick="testGet(this.href)"”,这既多余影响效率,又不便于维护。虽然可以通过后台自动批量输出到客户端,但浏览器得逐行解释和绑定鼠标“onclick”事件,而我那写法通过闭包预绑定的方法只有一个$("show")。
2、我的是对的,在IE8.0和Firefox3.6下测试通过。你的是IE6.0?
但是对于这里的特定需求而言,楼主并不希望绑定事件......
而且,说到扩展需求,建议把你代码里面把li标签之间的文本换成img,例如: <li url="http://wwww/sdds.mp3"><img src="test.jpg" /></li>试试......:-)
这2很简单啊,因为鼠标点击了图片而没有在“li”上,这很好解决啊。<div id="show">
<li url="http://wwww/dddd.mp3"><img src="test.jpg"></li>
<li url="http://wwww/wwe.mp3"><img src="test.jpg"></li>
<li url="http://wwww/sdds.mp3"><img src="test.jpg"></li>
</div><script type=text/javascript>
var $ = function(o){
return document.getElementById(o) || o
}
$("show").onclick = function(e){
var e = e || window.event;
var o = e.srcElement || e.target;
alert(o.getAttribute('url') || o.parentNode.getAttribute('url'))
}
</script>
li{list-style-type:none}
</style>
<div id="show">
<li url="http://wwww/dddd.mp3">dsddd</li>
<li url="http://wwww/wwe.mp3">22232</li>
<li url="http://wwww/sdds.mp3">trtrt</li>
<li url="http://wwww/dddd.mp3"><img src="test.jpg"></li>
<li url="http://wwww/wwe.mp3"><img src="test.jpg"></li>
<li url="http://wwww/sdds.mp3"><img src="test.jpg"></li>
</div><script type=text/javascript>
var $ = function(o){
return document.getElementById(o) || o
}
$("show").onclick = function(e){
var e = e || window.event;
var o = e.srcElement || e.target;
alert(o.getAttribute('url') || o.parentNode.getAttribute('url'))
}
</script>
var $ = function(o){
return document.getElementById(o) || o
}
$("show").onclick = function(e){
var e = e || window.event;
var o = e.srcElement || e.target;
alert(o.getAttribute('url') || o.parentNode.getAttribute('url'))
}
</script>