将id作为参数传递

时间:2017-07-16 18:32:07

标签: javascript jquery html css

我有一个包含多个div的页面,每个div都有一个来自数据库的ID,在每个div中都有一个类似的按钮,我想要做的就是当我点击like按钮传递ID时作为我的函数中的一个参数,这是我到目前为止所尝试的:

function addLike
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myID" onClick="addLike()">
<button type="button">Like</button>
</div>

<div id="myID" onClick="addLike()">
<button type="button">Like</button>
</div>

<div id="myID" onClick="addLike()">
<button type="button">Like</button>
</div>

<div id="myID" onClick="addLike()">
<button type="button">Like</button>
</div>

<div id="myID" onClick="addLike()">
<button type="button">Like</button>
</div>

<div id="myID" onClick="addLike()">
<button type="button">Like</button>
</div>

4 个答案:

答案 0 :(得分:1)

ID必须是唯一的。

每当定义内联单击事件处理程序时,您可以考虑传递以下两个变量:

  • :当前元素
  • 事件:事件对象

function addLike(ele, e) {
    console.log('ID: ' + ele.id);
}
<div id="myID1" onclick="addLike(this, event)">
    <button type="button">Like</button>
</div>

<div id="myID2" onclick="addLike(this, event)">
    <button type="button">Like</button>
</div>

<div id="myID3" onclick="addLike(this, event)">
    <button type="button">Like</button>
</div>

<div id="myID4" onclick="addLike(this, event)">
    <button type="button">Like</button>
</div>

<div id="myID5" onclick="addLike(this, event)">
    <button type="button">Like</button>
</div>

<div id="myID6" onclick="addLike(this, event)">
    <button type="button">Like</button>
</div>

答案 1 :(得分:0)

我建议你从你的div中删除onClick:

<div id="myID">

并在每个按钮中插入onclick:

<button onclick="addLike(this.parent.id)">

答案 2 :(得分:0)

首先,您只能在一个页面中拥有一个ID。所以我首先建议你使用class而不是ID。现在,如果您更喜欢使用ID,那么每个ID都应该是唯一的。你应该有

<div id="id1" onClick="addLike(this.id)"></div>
<div id="id2" onClick="addLike(this.id)"></div>

答案 3 :(得分:0)

好的,我可以看到你正在尝试制作一个类似的按钮。 为此,我建议不要将<button>的id作为其值。 对于按钮操作,您必须创建一个表单,其操作将在其他PHP或任何其他服务器端语言上。所以对于你的问题,这里是解决方案。

<form action="like.php" method="POST">
 <div id="myid1">
  <button value="myid1" name="button1">LIKE</button>
 </div> 
<div id="myid2">
  <button value="myid2" name="button2">LIKE</button>
</div>
</form>

现在,当您想要将值传递给函数时,可以使用按钮的值按其各自的name属性。每个按钮需要有不同的名称。

相关问题