6

関数は次のとおりです。

function lastmenuborder() {
    var articleparent = document.getElementById('article').parentNode;
    var articlestyle = window.getComputedStyle(articleparent,null).getPropertyValue('borderRadius');
    alert (articlestyle);
}

値が得られませんが、親ノードのcssは次のとおりです。

div#mainbody div.placeholder {
    border-radius: 3px;
}

「3px」を返すには何を変更する必要がありますか?すべての助けが大いに感謝します。私はまだJavaScriptの初心者です。

4

2 に答える 2

11

の場合getPropertyValue()、キャメルケースの代わりにハイフンを使用します。

これはChromeで機能します...

.getPropertyValue('border-radius');

しかし、Firefoxはこの構文を使用して特定のコーナーを必要とするようです...

.getPropertyValue('border-top-left-radius');
于 2012-05-29T17:33:39.780 に答える
0

getComputedStyleは、この使用法を修正するために、以下のIE8ではサポートされていません。

if (!window.getComputedStyle) {
       window.getComputedStyle = function(el, pseudo) {
           this.el = el;
               this.getPropertyValue = function(prop) {
               var re = /(\-([a-z]){1})/g;
               if (prop == 'float') prop = 'styleFloat';
               if (re.test(prop)) {
                   prop = prop.replace(re, function () {
                       return arguments[2].toUpperCase();
                   });
               }
               return el.currentStyle[prop] ? el.currentStyle[prop] : null;
           }
           return this;
       }
   }

var elem = window.getComputedStyle(document.getElementById('test'), "");
alert(elem.getPropertyValue("borderRadius"));
于 2012-10-31T13:57:31.980 に答える