Javascript 不使用onclick的jQuery get元素
我试图在不使用onclick的情况下获取HTML输入的元素id(或数据属性)。我的代码:Javascript 不使用onclick的jQuery get元素,javascript,jquery,html,ajax,onclick,Javascript,Jquery,Html,Ajax,Onclick,我试图在不使用onclick的情况下获取HTML输入的元素id(或数据属性)。我的代码: <button class="button primary" type="button" onclick="add_poll_answers(30)">Submit</button><br /> 我需要的是删除onclick并将其添加到单独的jQuery文件中的某种方法。我不能只使用以下内容,因为每页有多个轮询,ID会冲突。我真正需要的是一种方法,让您单击下面这样的内容
<button class="button primary" type="button" onclick="add_poll_answers(30)">Submit</button><br />
我需要的是删除onclick并将其添加到单独的jQuery文件中的某种方法。我不能只使用以下内容,因为每页有多个轮询,ID会冲突。我真正需要的是一种方法,让您单击下面这样的内容,然后jQuery可以动态地获取轮询id的元素数据属性。换句话说,我希望javascript获取id,而不需要使用onclick传递它
有人知道这是如何实现的吗
$(document).ready(function(){
$("#edit_poll").click(function()
{
edit_poll();
});
(id编辑调查不存在,这只是理论上的)
我找不到任何与我自己的问题相关的东西,对此我感到非常困惑。我刚开始对AJAX相当陌生,但这确实让我感到困惑。我知道有办法,但我找不到
$(document).ready(function(){
$("#edit_poll").click(function()
{
var id=$(this).data("pollid");
add_poll_answers(id);
});
});
如果元素具有数据pollid属性,请创建保存此信息的按钮
<button class="button primary addAnswer" type="button" data-pollid="30">Submit</button>
您需要某种方法来确定要处理的按钮,然后您可以:
直接点击:
$("button").on("click", function() {
// Use `this` here to access the element, e.g.
// its ID is `this.id`, or you can access a
// data attribute via `$(this).attr("data-foo")`
// or this.getAttribute("data-foo")
});
单击,并告诉jQuery仅在单击其中一个按钮时通知您,这看起来非常类似:
$("selector for the container").on("click", "button", function() {
// Use `this` here to access the element, e.g.
// its ID is `this.id`, or you can access a
// data attribute via `$(this).attr("data-foo")`
// or this.getAttribute("data-foo")
});
这被称为事件委派,在动态添加/删除按钮的情况下非常方便
“button”
作为按钮的选择器,但是您当然需要更具体的东西-例如,您可以向有问题的按钮添加一个类并使用”。而不是使用类“
#1的示例(直接处理点击):
$(.poll”)。在(“单击”,函数()上{
$(“”)
.html(“您单击了”+$(此).attr(“数据值”))
.附录(文件正文);
});代码>
选择1
选择2
选择3
如果需要更多的元素来应用相同的元素,只需使用class属性来标识元素:
<button class="buttonClick button primary" type="button">Submit</button>
这就是我如何欺骗厄运和这种方法的问题是在同一页面上有多个按钮用于编辑、添加和删除。抱歉,如果该部分不清楚,那么您可以使用css类标记一种类型的按钮(就像我在示例中所做的那样-我向该按钮添加了addAnswer
类),然后只对这些按钮应用某些功能。谢谢!这就是它,它帮助我解决了它。
$("selector for the container").on("click", "button", function() {
// Use `this` here to access the element, e.g.
// its ID is `this.id`, or you can access a
// data attribute via `$(this).attr("data-foo")`
// or this.getAttribute("data-foo")
});
<button class="buttonClick button primary" type="button">Submit</button>
$(document).ready(function(){
$(".buttonClick").click(function(){
console.log($(this).attr('id')); //to get the id, class or whatever
});
});
$(document).ready(function(){
var a = document.querySelector(".theClasseYouWantToListen").textContent;
console.log(a)
});