我正在使用一个很好的Jquery context menu,它以
的形式返回我的元素的ID$(context).attr('id')
而不是
形式$(this).attr('id')
由于我正在为大量元素使用单个上下文菜单,其中每个元素都有其唯一ID。上下文菜单完美地运行,因为它执行相对于由其唯一ID标识的被点击元素的命令。
我使用上下文菜单通过$ .get将数据写入MySQl数据库,这也适用。
但是现在我想使用从$ .get返回的数据,并使用.replaceWith方法更改一些文本而不刷新页面:
$.get("jq_get_go.php", { parameter2: $(this).attr('menuCommand'), id: $(context).attr('id') },
function(data) {
$(".ci_saremo").xxxxx.replaceWith('<li class="Like ci_saremo" id="' + $(context).attr('id') + '"><a href="">' + data + '</a></li>');
}
);
我不明白应该用什么替换xxxxx来获取我知道我在这里的元素的ID
$(context).attr('id')
当然,如果我省略xxxxx并离开
$(".ci_saremo").replaceWith('<li class="Like ci_saremo" id="' + $(context).attr('id') + '"><a href="">' + data + '</a></li>');
每个“.ci_saremo”文本都将被替换。所以我需要通过它的ID来识别它。基本上,我不明白如何在上面的字符串中链接/插入$(context).attr('id')
。
答案 0 :(得分:3)
这应该这样做:
$('#'+$(context).attr('id')).replaceWith...
答案 1 :(得分:1)
我可能误解了您的意图,但看起来您似乎正在尝试替换link
项内的li
文本。如果是这样,你应该能够这样做:
$(context).
.find(".ci_saremo")
.replaceWith('<li class="Like ci_saremo" id="' + $(context).attr('id') + '"><a href="">' + data + '</a></li>');
find方法将抓取 .ci_saremo
中的$(context).attr('id')
元素。这应该隔离您想要更改的单个元素。
<强> EDITED 强>
答案 2 :(得分:0)
如果$(context).attr('id')
返回ID,那是否意味着context
是您的元素?
如果是这样,你不能这样做吗?
$(context).replaceWith('<li class="Like ci_saremo" id="' + $(context).attr('id') + '"><a href="">' + data + '</a></li>');