Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onclick的jQuery替换_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript onclick的jQuery替换

Javascript onclick的jQuery替换,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我最近才发现jQuery的强大功能。只是一个简单的问题 什么是onclick=“DeleteSomething(‘服务器端加载的ID号’)”的替代品 是否有某种方式可以将自定义信息(如ID)传递给jquery onclick?还是我必须保持传统的方式 非常感谢 亚当 请发布一些标记以获得更多帮助 此外,您还应该阅读库中链接的jQuery入门资源。在jQuery中,您可能会执行以下操作: $('a').click(function(){ # code here }); “a”是任何你想用

我最近才发现jQuery的强大功能。只是一个简单的问题

什么是onclick=“DeleteSomething(‘服务器端加载的ID号’)”的替代品

是否有某种方式可以将自定义信息(如ID)传递给jquery onclick?还是我必须保持传统的方式

非常感谢

亚当

请发布一些标记以获得更多帮助


此外,您还应该阅读库中链接的jQuery入门资源。

在jQuery中,您可能会执行以下操作:

$('a').click(function(){
    # code here
});
“a”是任何你想用来找到正确链接的选择器

针对你的评论:

正如其他人提到的,最好的方法可能是在链接的一个属性中提供动态数据:

<a rel="{id}" >

$('a').click(function(){
    deleteFunction($(this).attr('rel'));
});

$('a')。单击(函数(){
deleteFunction($(this.attr('rel'));
});
而不是这个:

<button onclick="DeleteSomething('THE ID NUMBER LOADED IN BY SERVER SIDE')">

这样做:

<button id="thing">
<script>
$(function() {
    $("#thing").click(function() {
        DeleteSomething('THE ID NUMBER LOADED IN BY SERVER SIDE');
    }
}
<script>

$(函数(){
$(“#东西”)。单击(函数(){
DeleteSomething(‘服务器端加载的ID号’);
}
}
我通常使用rel=“”,来获取一些可能需要附加到按钮或其他东西上的额外数据

比如说

<input class="btnDelete" rel="34" value="Delete" />

这样做会更干净:

<tag class="someclass" prop1="id from serverside" />

$('.someclass').click(function(){
   var prop1 = $(this).attr('prop1');
   //DeleteSomething(prop1)
});
<script type="text/javascript>

$('a.deleter').click(function(){
   if($(this).attr("rel") != ""){
      DeleteSomething($(this).attr("rel"));
   }
});

</script>
<a href="javascript:void(0)" rel="54" class="deleter">Delete Widget</a>

$('.someclass')。单击(函数(){
var prop1=$(this.attr('prop1');
//删除某物(prop1)
});

如果在rel参数中粘贴要删除的对象的ID,可以通过以下方式执行:

<tag class="someclass" prop1="id from serverside" />

$('.someclass').click(function(){
   var prop1 = $(this).attr('prop1');
   //DeleteSomething(prop1)
});
<script type="text/javascript>

$('a.deleter').click(function(){
   if($(this).attr("rel") != ""){
      DeleteSomething($(this).attr("rel"));
   }
});

</script>
<a href="javascript:void(0)" rel="54" class="deleter">Delete Widget</a>

使用服务器将{ID}替换为实际ID

HTML:


不要忘记为未启用Javascript的用户实现删除服务器端!

您甚至可以给它一些除rel(即deleteid)之外的现成属性,并以相同的方式访问它:$(this).attr(“deleteid”)哇,我不知道我能做到这一点。我想这就是解决方案!对,但我如何将动态数据传递到该函数中?比如说它是一个$(“.DeleteComment”)。单击该类,您有多个按钮,单击时,它们会传入要删除的id?之前我只是将其直接插入onclick的一个参数中=“DeleteComment(“动态id”)”。
<form id="deleter">
  <input type="hidden" name="id" value="{ID}" \>
  <input type="submit" value="Delete" rel="{ID}" \>
</form>
$('form#deleter input[type="submit"]').click(function() {
  var id = $(this).attr('rel');
  DeleteSomething(id);
  return false;
}