jQuery - 通配符选择器开始 w/String 并结束 w/Variable

jQuery -Wildcard Selector Starts w/String and ends w/Variable

我一直在网上寻找示例或解决方案,但尚未成功。我面临的挑战是使用 jQuery 到 select 以字符串开头但也以函数传入的变量结尾的元素 ID。

示例:

.JSP 文件 - 有一个 ForEach 循环创建动态 divs 并将变量 ${number} 添加到它们的 'id' 作为键。这允许按钮仅 show/hide 唯一 div 而不会影响同一页面上的其他 div。

<div id="success-icon${number}"></div>
<div id="success-msg${number}"><p>My Message</p></div>

<button id="success-btn${number}" onclick="showIcon(${number})">Show Button ${number}</button>

.JS文件

//does not work, because it is looking for success+number
function showIcon(number){
    $('[id^=success]'+number).show();
}

我需要它来查找以 "success" 开头并以 "number" 结尾的 id 变量。

非常感谢对此的任何帮助,并提前感谢您的宝贵时间!

您可以用作选择器:

$('[id^=success][id$='+number+']').show();

但请注意,会匹配 number = 1; 两个具有 ID 的 divsuccess-icon1 和例如 success-icon11。现在这取决于您的预期行为。

无论如何,对于'group'一些元素,你最好使用一个通用的class特定于每个分组元素。