如何在同一页面上为2个ID使用相同的脚本?

发布于 2024-12-25 13:37:54 字数 1778 浏览 1 评论 0原文

我有一个喜欢的脚本,它从 php 获取 ID 并将 ID 插入数据库,然后脚本按 ID 显示结果。我对不同的 ID 使用相同的 html 代码和相同的脚本,但 siledown 结果在第一个 div id 上打开,而不是在我单击它的 ont 上打开:

HTML:

    <a href="javascript://" class="like" sta_id="1" username="{S_USERNAME}" title="Like">Like</a>
<div id="sn_likebox">
<span id="close"><a href="javascript://" class="close" title="Close This">X</a></span>
<div style="height:13px">
<div id="flash">Loading........</div>
</div>
<div id="sn_like_content">
</div>
</div>
<p>----------------------------------</p><div></div>
<p>-----------------------------------</p><div></div>
<a href="javascript://" class="like" sta_id="2" username="{S_USERNAME}" title="Like">Like</a>
<div id="sn_likebox">
<span id="close"><a href="javascript://" class="close" title="Close This">X</a></span>
<div style="height:13px">
<div id="flash">Loading........</div>
</div>
<div id="sn_like_content">
</div>
</div>

Script:

$(".like").click(function()
{
var sta_id=$(this).attr("sta_id");
var username=$(this).attr("username");
var dataString ='sta_id='+ sta_id + '&username='+ username;
$("#sn_likebox").slideDown("slow");

$("#flash").fadeIn("slow");


$.ajax({
type : "POST",
url : us_cfg.url,
data: dataString,    
cache: false,


success: function(html)
{
$("#flash").fadeOut("slow");
$("#sn_like_content").html(html);
}
});

});





$(".close").click(function()
{
$("#sn_likebox").slideUp("slow");
});

Demo:

http://jsfiddle.net/Ke5AB/112/

I have a liking script that get ID from php and insert id to data base then the script shows the result by ID. I use same html code and same script for differents Ids but siledown result open on first div id instead of the ont that i click it:

HTML:

    <a href="javascript://" class="like" sta_id="1" username="{S_USERNAME}" title="Like">Like</a>
<div id="sn_likebox">
<span id="close"><a href="javascript://" class="close" title="Close This">X</a></span>
<div style="height:13px">
<div id="flash">Loading........</div>
</div>
<div id="sn_like_content">
</div>
</div>
<p>----------------------------------</p><div></div>
<p>-----------------------------------</p><div></div>
<a href="javascript://" class="like" sta_id="2" username="{S_USERNAME}" title="Like">Like</a>
<div id="sn_likebox">
<span id="close"><a href="javascript://" class="close" title="Close This">X</a></span>
<div style="height:13px">
<div id="flash">Loading........</div>
</div>
<div id="sn_like_content">
</div>
</div>

Script:

$(".like").click(function()
{
var sta_id=$(this).attr("sta_id");
var username=$(this).attr("username");
var dataString ='sta_id='+ sta_id + '&username='+ username;
$("#sn_likebox").slideDown("slow");

$("#flash").fadeIn("slow");


$.ajax({
type : "POST",
url : us_cfg.url,
data: dataString,    
cache: false,


success: function(html)
{
$("#flash").fadeOut("slow");
$("#sn_like_content").html(html);
}
});

});





$(".close").click(function()
{
$("#sn_likebox").slideUp("slow");
});

Demo:

http://jsfiddle.net/Ke5AB/112/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

翻身的咸鱼 2025-01-01 13:37:54

您不能在 DOM 中放置两个具有相同 ID 的元素。您需要使它们独一无二,然后您的代码才能与它们一起使用。

You can't place two elements with the same ID in the DOM. You need to make them unique, then your code will work with them.

简单 2025-01-01 13:37:54

同一页面上不能有两个相同的 ID。使用不同的选择器类型(例如类)。

You cannot have two identical IDs on the same page. Use a different selector type (such as a class).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文