2011-05-31 13 views
0

私はInternet ExplorerでjqueryでいくつかのCSSを取得しようとしています。jqueryとInternet ExplorerでCSSを取得する

CSSは外部ファイルに設定し、次のようになりますされています

#something a { 
    text-decoration: none; 
    /* since I dont want underline when not hover */ 
} 

#something a:hover { 
    text-decoration: underline; 
} 

そして私は下線が設定されているかどうかを取得したいです。

これはFirefoxとWebKitの中で動作しますが、IEではない:

$('a').hover(function() { 
    console.log($(this).css('textDecoration')); 
    /* this return underline in FF and Webkit but not in IE */ 
}); 

は、それがIEで動作するように取得する方法を誰もが知っていますか?

+0

@PatrikあなたのコードはIE7 +でチェックされた正しいプロパティを返します。どのバージョンのIEを使用していますか?ここでは、タグはデフォルトで 'underline'を持っていることに注意してください。だからもしあなたがcssを使って 'text-decoration'を与えないならば、コードは' underline'を返します – thecodeparadox

+0

@ abdullah.abcoder Hm ...あなたはあなたと一緒に試着しましたか?試しに#something {text-decoration:none; }と#something a:hover {text-decoration:underline; } ||私のサンプルコードを少し更新します。 – Patrik

+0

質問は非論理的です。ホバーイベントの中では、リンクには常に下線が引かれます。そうであれば、テストのポイントはありません。あなたの例は正しいですか?あなたはリンクに下線が引かれているのか、それとも馬鹿にされているのかを実際に知る必要がありますか? – RoToRa

答えて

1

を以下試してみてください、それが動作します:

$("a").hover(function() { 
    var x = $(this); 
    setTimeout(function() { 
     console.log(x.css("text-decoration")); 
    }, 1); 
}); 

http://jsfiddle.net/ZGKqC/2/

+0

ありがとうございますが、ホバー機能が失敗しています。マウスは動作しますが、マウスは動作しません(同じコードはff/webkitで動作します)http://jsfiddle.net/SeaNC/ – Patrik

0

$('a').hover(function() { 
    $(this).css('text-decoration','underline'); 
}); 
+0

私はCSSを設定しないようにしたいと思います。コードを更新しました。 – Patrik

+0

なぜ否定的な投票ですか? +1が最初に置かれたのと同じ理由で+1します。 – MarioRicalde

+0

-1は近くにいないためでした。 OPはアンダーラインを設定したくない、彼はそれが設定されているかどうかを知りたがっている。 – RoToRa

0

このブロを試してみてください...このようにしてみてください:

$('a').css('textDecoration', 'none'); //initially set no underline 
$('a').mouseenter(function() { 
    $(this).css('textDecoration', 'underline'); //set underline in hover in 
}).mouseleave(function() { 
    $(this).css('textDecoration', 'none'); // set no underline in hover out 
}); 
+0

@Patrikこのコードに依存しない形式の 'css'プロパティです。つまり' underline'が設定されているかどうかは、 'a' – thecodeparadox

+0

-1でも近似していないためです。 OPはアンダーラインを設定したくない、彼はそれが設定されているかどうかを知りたがっている。 – RoToRa

+0

問題は、リンクに下線が付くかどうかわかりません。もし私が:hover {text-decoration:underline}と書くなら、私はjsにcssをチェックさせ、 "このリンクは下線があるべきだ"と言って、text-decoration:noneを書くなら、 「このリンクには下線を付けるべきではない」と言わなければなりません。 – Patrik

0

setTimeoutを追加

$('a').hover(function() { 
    console.log($(this).css('text-decoration'));   
}); 
+0

私はすでにそれを試みました。 – Patrik

関連する問題