我有以下代码
<a href="#example" id="showtext">view text</a>
$("#showtext").click (function () {
$.post('/app/foo/bar/1', function (data){
$("#msg").html(data);
});
$('#example').modal()
});
点击view text
后,我向/app/foo/bar/1
发送帖子请求,并将该数据放入ID为#msg
的div中。所有这一切都运行正常,但是,现在我希望能够将不同的ids
传递给此网址,例如:/app/foo/bar/2
或/app/foo/bar/3
等。
实现这一目标的好方法是什么?
我想到的一种方法是将id附加到属性,如下所示:
<a href="#example" id="showtext${id}">view text</a>
然后使用regex解析jQuery中的id
。但是,这种方法看起来很混乱。是否有更优雅的方式来实现这一目标?
答案 0 :(得分:5)
假设您需要保留href
属性,则可以使用data
属性。
<a href="#example" id="showtext" data-url="/app/foo/bar/2">view text</a>
$("#showtext").click(function() {
$.post(
$(this).data('url'),
function(data) {
$("#msg").html(data);
}
);
$('#example').modal()
});
或者,正如我所提到的,你可以使用href
:
<a href="/app/foo/bar/2" id="showtext">view text</a>
$("#showtext").click(function(e) {
e.preventDefault(); // prevent the link being followed normally
$.post(
$(this).prop('href'),
function(data) {
$("#msg").html(data);
}
);
$('#example').modal()
});