Re: [問題] 用javascript更改連結背景圖
感謝thoilyu的提醒
我發現我回文的寫法的確抓不到
剛剛又找了些資料
有找到方法囉!
因為單行實在太長,所以我有簡化一些變數名稱 (汗)
var i;
var t='';
var o=document.getElementsByTagName('a');
for(i=0;i<o.length;i++)
{
t+=document.defaultView.getComputedStyle(o[i],null). \\這邊code太長有斷行
getPropertyValue('background-image')+'<br>';
}
document.getElementsByTagName('body')[0].innerHTML+='<font>'+t+'</font>';
話說那個 background 真是搞死我也
因為用 getPropertyValue('background') 去抓一直是空值
爬了一堆資料
猜想可能 {background: transparent url() no-repeat scroll 0 0} 是簡化寫法
於是改用 background-image 來抓
結果就OK了
原來是我的CSS沒學好 (遮臉)
不過這個method是read-only
所以只能拿來判斷用
但透過判斷抓出目標<A>,再來針對它做修改應該也是可行方案
此為FireFox解法
IE可以用currentStyle直接抓
※ 引述《No (you stay there)》之銘言:
: 可以用getAttribute抓
: 以你舉例的 http://www.yahoo.com/ 這頁來看
: 改成這樣,先把結果列出來,會在網頁最下面
: var i;
: var temp='';
: var divbacks = document.getElementsByTagName('a');
: for(i=0;i<divbacks.length;i++)
: {
: temp+=divbacks[i].getAttribute('style')+'<br>';
: }
: document.getElementsByTagName('body')[0].innerHTML+='<font>'+temp+'</font>';
: 結果這頁沒有<A>有套用到你舉例的那個CSS @@
: 不過至少style的值可以整個抓出來
: 再用regex去match or test就好
: ※ 引述《thoilyu (oil)》之銘言:
: : 假設像是下面的這個網頁
: : http://www.yahoo.com/ (美國版的)
: : 想用另外加一個script 用像greasemonkey的方式
: : 去更改它前面那些小圖示的圖片
: : 看了一下他的code發現他是用 css 類似以下寫法
: : a
: : {
: : background:transparent url(http://l.yimg.com/a/i/ww/sp/trough_2.0_062308.gi
: : no-repeat scroll 0 0;
: : }
: : 那我寫了一個script要去抓出他的圖片並更改
: : var divbacks = document.getElementsByTagName('a');
: : if(divbacks.length > 0)
: : {
: : for(i=0;i<divbacks.length;i++)
: : {
: : repex = /^\S+.(gif|jpg|jpeg|png)$/i;
: : if(divbacks[i].style.background)
: : {
: : alert("我有跑進來啦啦啦");
: : ....
: : //更換圖片
: : divbacks[i].style.background = XXXX;
: : ...
: : }
: : else if(divbacks[i].background)
: : {
: : ...
: : alert("我有跑進來啦啦啦");
: : //更換圖片
: : .....
: : }
: : }
: : }
: : 可是我卻完全抓不到值
: : 跑不出 "我有跑進去啦啦啦" 這些字
: : 我不知道是哪裏寫錯了
: : 可以麻煩教學一下嗎
: : 謝謝 m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.231.3.208
※ 編輯: No 來自: 125.231.3.208 (05/11 13:22)
推
05/11 14:24, , 1F
05/11 14:24, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):