如何使用JQuery来处理链接上的点击,该链接的id以特定字符串开头

How can I use JQuery to handle the click on a link having an id that begin with a specific string?

本文关键字:链接 id 开头 字符串 JQuery 何使用 处理      更新时间:2023-09-26

我是JQuery的新手,我有以下问题。因此,我有一个JSP页面,其中包含以下HTML代码:

<!-- Bottone relativo ai progetti WIFI: -->
<a title="WIFI" href="javascript: void(0)" id="showWifi_${item.index}">
    <div class="news_box news_box_01"></div>
</a>
<!-- Bottone relativo ai progetti PNSD: -->
<a title="PNSDe" href="javascript: void(0)" id="showPnsd_${item.index}">
    <div class="news_box news_box_02"></div>
</a>

可以看到这些标签的id **类似于id="showWifi_${item。指数}" id = " showPnsd_ $ {item.index} " 。因此,这些id正在创建检索项。index(一个渐进整型),呈现唯一的id,如showWifi_1, showWifi_2**,等等。

现在我必须使用JQuery来处理用户单击这些链接的情况,并且在这个JQuery脚本中,我必须检索特定单击链接的特定id。

因此,例如,如果用户单击一个id为showWifi_1标签,则必须检索该值。

如果我在id的末尾没有这个累进值(${item.index}),我知道我可以这样做:

$(document).ready(function(){
    // Select the 
    $("#showWifi").click(function(){
        //$("p").hide();
        alert("SHOW WIFI");
    });
    $("#showPnsd").click(function(){
        //$("p").show();
        aler("SHOW PNSD");
    });
});

问题是,不是我不能使用$("#showWifi")和$("#showPnsd")来选择我的a标签,因为id后面跟着${item.index}

我该如何处理这种情况?我可以看到这样的东西:当用户点击一个一个id showwifi showPnsd_开头的标签时,执行脚本并检索_字符之后的数值?

Tnx

尝试使用attribute starts与选择器,

$("[id^='showWifi_']").click(function(){

$("[id^='showPnsd_']").click(function(){

但是,与其使用属性选择器,不如为这些元素设置一个类,并用类选择器为它绑定事件。类选择器将比属性选择器更有效。

您可以使用通配符或startsWith选择符:

$("[id^='showWifi_']")
$("[id^='showPnsd_']")

上面选择从showWifi_showPnsd_开始的id。如果你想把你的选区限制在<a>元素,那么你可以使用:

$("a[id^='showWifi_']")
$("a[id^='showPnsd_']")