2011-11-18 21 views
5

JavaScriptからCSSを変更するには、以下の手順を使用していますが、結果は得られていません。JavaScript内のCSS境界

誰でもコードを確認して、適切な方法を教えてください。半径のあるテーブルの境界線が必要です。

これは私のテーブル構造である:

<table id="tt" width="400" border="0" cellspacing="0" cellpadding="0"> 
     <tr> 
     <td width="179" class="header_links">5<input name="input" class="lang_textbox" type="text" value="Search by keyword" /></td> 
     <td width="52" align="left"><img src="images/search_go.jpg" width="28" height="24" alt="go" /></td> 
     <td width="169" class="header_links"><a href="#">FAQs</a> | <a href="#">Sitemap</a> | <a href="#">Contact us</a></td> 
     </tr> 
    </table> 

以下は、あなたが(国境自体を設定するために持っていると、ノートborderがMozilla-ない

document.getElementById('tt').style.borderRadius = '4em'; // w3c 
document.getElementById('tt').style.MozBorderRadius = '4em'; // mozilla 
document.getElementById('tt').style.border = '4em'; // mozilla 
+0

もっと邪魔にならない方法:スタイルを直接変更する代わりに、要素に追加のCSSクラスを追加する。 – dfsq

答えて

9

を使用していますjavascriptのです唯一のプロパティ):

document.getElementById('tt').style.border = '4em solid black'; 

http://jsfiddle.net/KYEVq/

+1

そして 'border =" 0 "'をHTMLのテーブルから削除します。これはCSSを上書きするかもしれないからです。 – RoToRa

4

スタイルの問題として、あなたのスタイリングをあなたのjavascriptから切り離す方がいいです。あなたは、適切なCSSクラスなどを追加することにより、JavaScriptでそれを参照、CSSであなたのスタイルを作成することを検討すべきである:

CSS

.className {border : '4em solid black';} 

Javascriptを

document.getElementById("'tt'").className += " className"; 

それともあなたがあるかをjQueryなどのjavascriptフレームワークを使用することができます。

$('#tt').addClass('className'); 
$('#tt').removeClass('className'); 
$('#tt').toggleClass('className'); 
+1

私はこのオプションを使用します。 –

0

境界線の幅を設定するだけでは表示されません。何かのようにしてください

document.getElementById('tt').style.border = "1px solid #000"; 

しかし、これは間違いなくCSSで行う必要があります。

また、Webkit(少なくともChromium 15の場合)では、表の丸みのある罫線が気に入らないようです。とにかくやっていることのためにテーブルを使用しない方がいいです。