HTML:
<div id="comentario-info">
<b>AngelRmz</b> hace 8 minutos
<div id="comentario-botones" data-id="1">
<div id="comentario-boton" class="comentario-informar" title="Informar"></div>
<div id="comentario-boton" class="comentario-eliminar" title="Eliminar"></div>
<div id="comentario-boton" class="comentario-editar" title="Editar"></div>
<div id="comentario-boton" class="comentario-guardar" title="Guardar"></div>
</div>
JavaScript的:
comentarioId = $(this).parents().parent('#comentario-botones').attr("data-id");
alert(comentarioId); // return 1
答案 0 :(得分:3)
ID必须是唯一的。您使用data-id
。因此,请使用data
获取值。
$("#comentario-botones").on("click", "div", function() {
var comentarioId = $(this).parent().data('id');;
alert(comentarioId); // return 1
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="comentario-info">
<b>AngelRmz</b> hace 8 minutos
<div id="comentario-botones" data-id="1">
<div id="comentario-boton1" class="comentario-informar" title="Informar">1</div>
<div id="comentario-boton2" class="comentario-eliminar" title="Eliminar">2</div>
<div id="comentario-boton3" class="comentario-editar" title="Editar">3</div>
<div id="comentario-boton4" class="comentario-guardar" title="Guardar">4</div>
</div>
答案 1 :(得分:0)
当您已使用parent()
,
.parents()
parents()
将为您提供所有父母元素,您可以简单地传递其ID,Class或Attr,
ID也必须是唯一的。
如果您不想使ID唯一且仍想使用ID选择器,我可以使用简单的解决方案。
您的ID选择器必须与此$('[id="your-ID"]')
$('[id="comentario-boton"]').click(function(){
comentarioId = $(this).parents('#comentario-botones').attr("data-id");
alert(comentarioId);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="comentario-info">
<b>AngelRmz</b> hace 8 minutos
<div id="comentario-botones" data-id="1">
<div id="comentario-boton" class="comentario-informar" title="Informar">Informar</div>
<div id="comentario-boton" class="comentario-eliminar" title="Eliminar">Eliminar</div>
<div id="comentario-boton" class="comentario-editar" title="Editar">Editar</div>
<div id="comentario-boton" class="comentario-guardar" title="Guardar">Guardar</div>
</div>
注意:这不是一个好习惯,但对于想要出于某种原因使用相同ID的开发人员来说,这是一个简单的黑客攻击。