javascript - tiene - obtener valor de un boton jquery
jQuery: obtener el atributo de datos (5)
En mi html tengo un elemento span
:
<span class="field" data-fullText="This is a span element">This is a</span>
Y quiero obtener el atributo data-fullText
. Intenté estas dos formas, pero no funcionaron (las dos vuelven undefined
):
$(''.field'').hover(function () {
console.log(''using prop(): '' + $(this).prop(''data-fullText''));
console.log(''using data(): '' + $(this).data(''fullText''));
});
Luego busqué y encontré estas preguntas: ¿Cómo obtener el atributo id-datos? y jquery no puede obtener el valor del atributo de datos .
Las dos respuestas son "Use .attr(''data-sth'') or .data(''sth'')"
.
Sé que .attr()
está en desuso (en jquery-1.11.0, que uso), pero, sin embargo, lo probé.
¡Y funcionó!
¿Alguien puede explicar por qué?
¡Cambie los ID y los atributos de datos como desee!
<select id="selectVehicle">
<option value="1" data-year="2011">Mazda</option>
<option value="2" data-year="2015">Honda</option>
<option value="3" data-year="2008">Mercedes</option>
<option value="4" data-year="2005">Toyota</option>
</select>
$("#selectVehicle").change(function () {
alert($(this).find('':selected'').data("year"));
});
Aquí está el ejemplo de trabajo: https://jsfiddle.net/ed5axgvk/1/
Esto es lo que se me ocurrió:
$(document).ready(function(){
$(".fc-event").each(function(){
console.log(this.attributes[''data''].nodeValue)
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<div id=''external-events''>
<h4>Booking</h4>
<div class=''fc-event'' data=''00:30:00'' >30 Mins</div>
<div class=''fc-event'' data=''00:45:00'' >45 Mins</div>
</div>
Esto funciona para mí
$(''.someclass'').click(function() {
$varName = $(this).data(''fulltext'');
console.log($varName);
});
1. Prueba esto: .attr ()
$(''.field'').hover(function () {
var value=$(this).attr(''data-fullText'');
$(this).html(value);
});
DEMO 1: http://jsfiddle.net/hsakapandit/Jn4V3/
2. Prueba esto: .data ()
$(''.field'').hover(function () {
var value=$(this).data(''fulltext'');
$(this).html(value);
});