2016-03-19 4 views
2

Ich habe 3 Boxen, wenn ich auf jede Box klicke, möchte ich den Attributwert jeder Box alarmieren.Wie setze ich value-Attribut auf ein div-Tag?

https://jsfiddle.net/aedzgu9v/

<div class="box" value="box1"></div> 
<div class="box" value="box2"></div> 
<div class="box" value="box3"></div> 

.box{ 
    height: 80px; 
    width: 80px; 
    border: 2px solid blue; 
    margin: 5px; 
} 

$('.box').on('click', function(){ 
    var value = $(this).val(); 
    alert(value); 
}); 
+1

div 'element' kann nicht' Wert attr.' Verwendung haben ' Datenwert stattdessen –

Antwort

2

Versuchen Sie stattdessen:

<div class="box" name="box1"></div> 
<div class="box" name="box2"></div> 
<div class="box" name="box3"></div> 

$('.box').on('click', function(){ 
    var value = $(this).attr('name'); 
    alert(value); 
}); 

Oder wenn Sie Attribut verwenden Wert wollen:

$('.box').on('click', function(){ 
    var value = $(this).attr('value'); 
    alert(value); 
}); 
2

Nur Formular-Steuerelemente haben ein legitimes Eigentum value, die Sie val() ... andere nicht

Ich schlage vor, Sie schalten mit einem data- Attribut und den Zugriff darauf verwenden, ermöglicht mit entweder data() oder attr()

<div class="box" data-value="box1"></div> 

JS

$('.box').on('click', function(){ 
    var value = $(this).data('value'); 
    alert(value); 
}); 
Verwandte Themen