2

こんにちは、このhtmlドキュメントで問題に直面しています。助けてください

私はこれに非常に新しいです。

何かを逃すのはばかかもしれません。

私はここに解決するために有用な情報源だけを置いています。

<!DOCTYPE html>
<html>
  <body id="owner_profile">
    <a id="buy" owner="789" token="1000" wrapper="purchase" name="oname">Hurray!</a><br>
    <script>
      document.write("You Have: ");
      document.write(document.getElementById('buy').token);
    </script>  
  </body>
</html>

トークンを表示したいのですが、未定義です

結果は:

やあ!

あなたが持っている:未定義

4

2 に答える 2

6

属性とプロパティには違いがあります。属性を取得するには、を使用しますgetAttribute("token")

多くの(事前定義された)属性はプロパティにマップされます(またはその逆、私にはわかりません)。したがって、たとえば、セルのプロパティを設定すると、その属性colSpanにも影響します。colspan

ただし、2つが大きく異なる場合もあります。特に、valueボックスに入力しても入力の属性は変更されません。ただし、valueプロパティはそうします。これは、テキストボックスをいつでもリセットできることを意味しますelem.value = elem.getAttribute("value")

原則として、get/setAttribute要素の属性を変更するために常に使用する必要があります。これは、そこにあるプロパティに依存することはできないためです。

補足:これらの「属性」はデータである必要があります。

<a id="buy" data-owner="789" data-token="1000" data-wrapper="purchase" name="oname">
于 2012-09-08T04:58:40.370 に答える
1

「token」は有効な HTML 属性ではないため、.getAttribute('token')代わりにを使用する必要があります。.token

<script>
document.write("You Have: ");
document.write(document.getElementById('buy').getAttribute("token"));
</script>

ワーキング JSFiddle: http://jsfiddle.net/AvKbn/

于 2012-09-08T04:59:29.117 に答える