我想画成div,但首先我试着改变文字,但我不能帮助我吗?我放入了控制台$("#uno")。attr(" id");并且工作,但如果我在我的函数上使用consolo.log(x)说undefined。
<a href="" onclick="cambio()" value="tres" id="uno" title="">Etiqueta uno</a>
<a href="" onclick="cambio()" id="dos" title="">Etiqueta dos</a>
<a href="" onclick="cambio()" id="tres" title="">Etiqueta tres</a>
<a href="" onclick="cambio()" id="cuatro" title="">Etiqueta cuatro</a>
var x= "";
function cambio(){
x = $(this).attr("id");
console.log(x);
$(x).text("clickeado");
}
答案 0 :(得分:0)
首先,您需要使用event.preventDefault()
来阻止默认行为。其次$(this)
引用上下文中的当前元素,但您没有在点击处理程序中传递this
。
您可以传递事件对象并使用event.target
,这将提供触发点击的当前元素。使用event.target.id
获取id
var x = "";
function cambio(elem) {
event.preventDefault();
x = event.target.id;
console.log(x);
$(event.target).text("clickeado");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="" onclick="cambio(event)" value="tres" id="uno" title="">Etiqueta uno</a>
<a href="" onclick="cambio(event)" id="dos" title="">Etiqueta dos</a>
<a href="" onclick="cambio(event)" id="tres" title="">Etiqueta tres</a>
<a href="" onclick="cambio(event)" id="cuatro" title="">Etiqueta cuatro</a>