Balu: getAttribute('style') im IE == object

Hat mal jemand einen Tipp fuer mich, wie ich im IE die Textversion des style-Attributes von Elementen kriege?

getAttribute("style") liefert im IE ein Objekt zurueck, waehrend ich im Mozilla das erwartete Textfragment kriege:

Beispiel:

<html>
<head>
    <title>Test</title>
</head>
<body>
<p style="background: #f00;" id="paragraph">ein Paragraph</p>
</body>
</html>
<script>
    alert(document.getElementById("paragraph").getAttribute("style"));
</script>

Balu

  1. Hallo Balu,

    Der IE gibt folgendes Array zurueck:

    clear =>
    posRight => 0
    backgroundRepeat => repeat
    borderTopStyle =>
    marginTop =>
    fontVariant =>
    listStylePosition =>
    backgroundPositionX => 0%
    lineHeight =>
    scrollbarHighlightColor =>
    overflowX =>
    paddingLeft =>
    borderLeftWidth =>
    padding =>
    listStyleType =>
    borderLeftColor =>
    display =>
    textDecorationLineThrough => false
    marginBottom =>
    textKashidaSpace =>
    borderCollapse =>
    textDecorationBlink => false
    scrollbarFaceColor =>
    backgroundAttachment => scroll
    borderRightStyle =>
    fontStyle =>
    textUnderlinePosition =>
    textIndent =>
    textDecorationOverline => false
    layoutGridMode =>
    right =>
    pageBreakAfter =>
    background => #f00
    filter =>
    borderColor =>
    posWidth => 0
    left =>
    minHeight =>
    accelerator => false
    rubyOverhang =>
    layoutGrid =>
    visibility =>
    verticalAlign =>
    borderBottomWidth =>
    scrollbarShadowColor =>
    textTransform =>
    lineBreak =>
    scrollbarArrowColor =>
    margin =>
    borderBottomColor =>
    borderTopWidth =>
    behavior =>
    letterSpacing =>
    layoutFlow =>
    font =>
    borderTopColor =>
    paddingBottom =>
    whiteSpace =>
    overflow =>
    borderBottomStyle =>
    cssText => BACKGROUND: #f00
    width =>
    clip =>
    cursor =>
    fontSize =>
    imeMode =>
    backgroundPosition => 0% 0%
    color =>
    paddingRight =>
    textAutospace =>
    pageBreakBefore =>
    direction =>
    bottom =>
    fontFamily =>
    unicodeBidi =>
    posHeight => 0
    posBottom => 0
    borderRightColor =>
    styleFloat =>
    textJustify =>
    backgroundColor => #f00
    posTop => 0
    zIndex => 0
    borderLeftStyle =>
    zoom =>
    listStyleImage =>
    wordSpacing =>
    textDecoration =>
    borderBottom =>
    layoutGridChar =>
    tableLayout =>
    border =>
    textAlign =>
    backgroundPositionY => 0%
    backgroundImage => none
    borderWidth =>
    borderTop =>
    textJustifyTrim =>
    scrollbar3dLightColor =>
    fontWeight =>
    scrollbarDarkShadowColor =>
    textAlignLast =>
    posLeft => 0
    borderRightWidth =>
    paddingTop =>
    wordBreak =>
    textOverflow =>
    rubyPosition =>
    borderStyle =>
    borderRight =>
    wordWrap =>
    position =>
    overflowY =>
    textDecorationUnderline => false
    layoutGridLine =>
    top =>
    textDecorationNone => false
    writingMode =>
    height =>
    scrollbarTrackColor =>
    listStyle =>
    scrollbarBaseColor =>
    marginRight =>
    marginLeft =>
    layoutGridType =>
    textKashida =>
    rubyAlign =>
    borderLeft =>

    Du kannst also einfach feststellen, ob du einen String oder ein Array zurueckbekommst, du dann entsprechend damit umgehen.

    Gruß,

    Dieter

    1. Hi Dieter

      sieht aus, als waere "cssText" in dem Array das was ich suche... Leider ist das alles in CAPS. Naja - haette mich auch gewundert, wenn der IE mal so funktioniert wie es sollte...

      Balu

  2. Hallo Balu,

    getAttribute("style") liefert im IE ein Objekt zurueck, waehrend ich im Mozilla das erwartete Textfragment kriege:

    Was der IE liefert, hat dir Dieter ja schon gesagt, aber Opera liefert nochmal was anderes:
    | background-attachment: scroll; background-repeat: repeat;
    | background-position: 0% 0%; background-color: #ff0000;
    | background-image: none

    Grüße aus Nürnberg
    Tobias