2017-12-20 50 views
2

要素の値をチェックしようとしていますが、クラスをチェックしているときにはundefinedを返します。要素の値を取得する

HTML:

<div class='cube' value='test' onclick='checkCube(this)'></div> 

はJavaScript:

function checkCube(cube) {  // - there's either one of those lines, not both) 
    var check = cube.value;   //This is not working, 
    var check = cube.className;  //This is. 
    console.log(check); 
} 

答えて

9

valueプロパティのみ入力要素

非入力のために使用getAttribute要素

でサポートされています
var check = cube.getAttribute("value"); 
0

getAttributesを使用して取得できます。getAttribute()メソッドは、要素の指定された名前を持つ属性の値を返します。

function checkCube(cube) {  
 
    var check = cube.value;   
 
    var check = cube.className;  
 
    console.log(cube.getAttribute("value")); 
 
}
<div class='cube' value='test' onclick='checkCube(this)'>click Over Me</div>

+0

私はそれを空の要素にしたいので、それにはテキストは含まれません。 既にgurviner372によって解決策が得られています。 ありがとうとにかく:D – Omer

0

次のようにしてください。

function checkCube(cube) {  
 
    var check = cube.getAttribute("value"); 
 
    alert(check); 
 
    }
<div class='cube' value='test' onclick="checkCube(this)">Click me to get Value</div>

2

あなたの要素に余分な性質(ないタググローバル属性)を添付するときdata-* attributesを使用する方がよいでしょう。

<div class='cube' data-value='test' onclick='checkCube(this)'></div> 

その後datasetを使用次のような属性値を取得する:

var check = cube.dataset.value; 
+0

はい。前にそのことを知らなかった! – Omer

関連する問題