浏览 3688 次
锁定老帖子 主题:挑战javascript不知道能不能实现
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-03
<div id="d2" onclick="ss('abfg')" style="background-color:#FFdd00;">BBBBfgBB</div> <div id="d3" onclick="ss('afdghhg')" style="background-color:#FFdd00;">CCfgfgf</div> <input type="button" value="show" onclick="show()"> ------------ 如何在show()函数中得到上述三个div里的onclick函数ss里的参数,即:abcgfsg,abfg,afdghhg 得到后用一个数组保存他(得到后这就容易实现了) 我水平不高 所以想了半天不知如何实现 特来请教,请指教 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-07-03
你都不如告诉你的需求,让大家看看有什么好办法解决。
|
|
返回顶楼 | |
发表时间:2007-07-03
改成这样就行,不知合你的意不.
function show() { var d1; d1=document.getElementById("d1").value; alert(d1); } <div id="d1" value='abcgfsg' onclick="ss('abcgfsg')" style="background-color:#FF0000;">AAAAdAA</div> <div id="d2" onclick="ss('abfg')" style="background-color:#FFdd00;">BBBBfgBB</div> <div id="d3" onclick="ss('afdghhg')" style="background-color:#FFdd00;">CCfgfgf</div> <input type="button" value="show" onclick="show()"> |
|
返回顶楼 | |
发表时间:2007-07-03
不能在div里设置任何可读的属性!要是那样就简单了
<div id="d1" onclick="ss('abcgfsg')" style="background-color:#FF0000;">AAAAdAA</div> 要读取的数据就是这个div onclick函数里的参数 ------ 只是朋友问我的,他想提取投放在页面中广告的链接,可恶的是这些链接都是绑到函数里的参数 例:<div onmouseover="ss('http://www.cn-blood.com')" onfocus="ss('http://www.cn-blood.com')" style="overflow: hidden; padding-left: 1px; padding-right: 1px;" onclick="go('http://click.narrowad.com/click/click.jsp?parameter=2658184335098578186,3l6n8l1t1.2F2X1h527m4c2639651w7w720F0X138p4t0,6l4n7,0,,2u3l3h3t3X1A,2,X,F1w5.,1299.,o3X9F,k4271,h6m5,4u8l¶meter1=http%3A%2F%2Fwww.cn-blood.com')"> |
|
返回顶楼 | |
发表时间:2007-07-03
<script type="text/javascript"> <!-- function show() { //我偷懒用tagName来获取相应的div,楼主可以用id来获取 var ds=document.getElementsByTagName('DIV'); var paras=new Array(); for(var i=0;i<ds.length;i++) { paras.push(ds[i].onclick.toString().match(/\'\w+\'/)); } alert(paras); } //--> </script> |
|
返回顶楼 | |
发表时间:2007-07-03
我想过要是在当前页建立一个ss函数的拷贝 或者别名的函数就好了
可惜我不会 空想 0-0 |
|
返回顶楼 | |
发表时间:2007-07-03
哎呀 楼上的老兄强
toString()还真有用 谢谢啦! |
|
返回顶楼 | |
发表时间:2007-07-03
正则看过不少就是不会活用
再谢谢了 |
|
返回顶楼 | |
发表时间:2007-07-03
以下的解决方案,需要可以把这段代码嵌入到你需要截获的页面中,如果无法这样做,那只能按照之前那位用正则表达式来获取。
var oldSS=ss; var paramList=[]; /*重写ss函数,用于截获参数*/ ss=function(param) { paramList.push(ss); oldSS(parma);//oldSS是对原ss函数的引用,执行原来的ss函数 } function show() { var div=.... //获取那几个div; for (var i=0;i<div.length;i++) { div.click(); //全部click一次,如果可以这样做的话…… } alert(paramList); } 另外,其实还不明白,你真正的需求 |
|
返回顶楼 | |