23

これは私のdivです:

<div id="demo" align="center"  value="1">
    <h3>By Color</h3>
    <input type="radio" name="group1" id="color1" value="#990000"  onClick="changeColor()"/><label for="color1">Red</label>
    <input type="radio" name="group1" id="color2" value="#009900" onClick="changeColor()"/><label for="color2">Green</label>
    <input type="radio" name="group1" id="color3" value="#FFFF00" onClick="changeColor()" /><label for="color3">Yellow</label><br><br><br>
</div>

そのdivのvalue属性(value = "1")が必要です。

私はこのようにしようとしています:

function overlay()
{
    var cookieValue = document.getElementById("demo").value;    
    alert(cookieValue);
}

しかし、JavaScriptを使用して値1を取得する方法を「未定義」で示しています。解決策を提案してください。

4

6 に答える 6

34

DIVvalue sにはプロパティがありません。

技術的には、DTDによると、value 属性も持つべきではありませんが、通常.getAttribute()、この場合は次のように使用する必要があります。

function overlay()
{
    var cookieValue = document.getElementById('demo').getAttribute('value');
    alert(cookieValue);
}
于 2012-06-28T05:32:23.217 に答える
21

短く言うと、「値」はdivの有効な属性ではありません。したがって、undefinedを返すことは絶対に正しいです。

あなたができることは、HTML5属性の1つ「data-*」を使用する行の何かでした

<div id="demo" align="center"  data-value="1">

そして、スクリプトは次のようになります。

var val = document.getElementById('demo').getAttribute('data-value');

<!DOCTYPE html>これは、ほとんどの最新のブラウザで機能するはずです。有効にするために、Doctypeを入力することを忘れないでください。

于 2012-06-28T05:29:18.777 に答える
5

コメントで述べたように、要素には属性<div>がありません。value(非常に)悪いですが、次のようにアクセスできます。

console.log(document.getElementById('demo').getAttribute);

data-*むしろHTML5属性を使用することをお勧めします。このようなもの:

<div id="demo" data-myValue="1">...</div>

その場合、以下を使用してアクセスできます。

element.getAttribute('data-myValue');
//Or using jQuery:
$('#demo').data('myValue');
于 2012-06-28T05:32:32.783 に答える
3

初めに

<div id="demo" align="center"  value="1"></div>

これは有効なHTMLではありません。カスタムデータ属性を確認するか、代わりに以下を使用してください。

<div id="demo" align="center" data-value="1"></div>

「data-value」は属性であるため、getAttribute関数を使用してその値を取得する必要があります。

var cookieValue = document.getElementById("demo").getAttribute("data-value"); 
于 2012-06-28T05:34:01.487 に答える
2

あなたはこれを試すことができます:

var theValue = document.getElementById("demo").getAttribute("value");
于 2012-06-28T05:30:25.353 に答える
0

値はDIVの有効な属性ではありません

これを試して

var divElement = document.getElementById('demo');
alert( divElement .getAttribute('value'));
于 2012-06-28T05:29:11.480 に答える