对于这个问题,也许不是一个好标题,但我的问题正是如此。
我在页面上有几个DIV标签,所有这些标签都以#result开头并继续编号<div id="result22">
,<div id="result33">
等等。现在我发现一些不错的jQuery要做的事情,它按预期工作但是唯一的问题是如何将已知号码添加到#result
这是代码:
<script type="text/javascript">
$(document).ready(function() {
$('.like').bind('click', function () {
$.get("/sng_like/"+this.id+"/", function(data) {
$('#result')[0].innerHTML=data;
});
});
});
</script>
我希望this.id
的值可以作为#result
的一部分来获取#result22
。
我的JS知识是有限的,我已经尝试$('#result'+this.id)[0].innerHTML=data;
但它不会工作。
谢谢, ģ
答案 0 :(得分:2)
$(document).ready(function() {
$('.like').bind('click', function () {
var item=$(this);
$.get("/sng_like/"+item.attr("id")+"/", function(data) {
$('#result'+item.attr("id")).html(data);
});
});
});
从jQuery 1.7开始,.on()方法是将事件处理程序附加到文档的首选方法。所以你可以考虑使用它。
如果您使用的是1.7+版本,则可以重写您的代码以在此类功能上使用
$(function(){
$(document).on("click",".like",function(){
var item=$(this);
$.get("/sng_like/"+item.attr("id")+"/", function(data) {
$('#result'+item.attr("id")).html(data);
});
});
});
$(function()
是$(document).ready(function()
答案 1 :(得分:2)
你可以说:
$.get("/sng_like/"+$(this).attr("id")+"/", function(data)
答案 2 :(得分:1)
<script type="text/javascript">
$(function() {
$('.like').on('click', function() {
var MyId=this.id;
$.get("/sng_like/"+MyId+"/", function(data) {
$('#result'+MyId).html(data);
});
});
});
</script>