Javascript 函数中id的访问编号
我有以下菜单系统。当我向菜单添加更多步骤时,我需要编写一个新函数。如何编写一个函数来显示任何步骤的信息?我正在考虑提取每个id中的数字并将其传递到函数中,但我不确定如何实现。任何帮助都会很好,谢谢 HTML:Javascript 函数中id的访问编号,javascript,jquery,Javascript,Jquery,我有以下菜单系统。当我向菜单添加更多步骤时,我需要编写一个新函数。如何编写一个函数来显示任何步骤的信息?我正在考虑提取每个id中的数字并将其传递到函数中,但我不确定如何实现。任何帮助都会很好,谢谢 HTML: 此.id.slice(-1)获取事件处理程序中的数字 $('[id^="step-info"]').on('click', function() { var numb = this.id.slice(-1); $('#step-info-cnt' + numb).show(
此.id.slice(-1)
获取事件处理程序中的数字
$('[id^="step-info"]').on('click', function() {
var numb = this.id.slice(-1);
$('#step-info-cnt' + numb).show();
});
$('[id^="step-info-close"]').on('click', function() {
var numb = this.id.slice(-1);
$('#step-info-cnt' + numb).hide();
});
使用“attributes Start with”选择器,您可以选择多个元素
使用类似乎更合适
$('.step-info').on('click', function() {
$(this).closest('h3').next('.popup').show();
});
$('.step-info-close').on('click', function() {
$(this).closest('.popup').hide();
});
此.id.slice(-1)
获取事件处理程序中的数字
$('[id^="step-info"]').on('click', function() {
var numb = this.id.slice(-1);
$('#step-info-cnt' + numb).show();
});
$('[id^="step-info-close"]').on('click', function() {
var numb = this.id.slice(-1);
$('#step-info-cnt' + numb).hide();
});
使用“attributes Start with”选择器,您可以选择多个元素
使用类似乎更合适
$('.step-info').on('click', function() {
$(this).closest('h3').next('.popup').show();
});
$('.step-info-close').on('click', function() {
$(this).closest('.popup').hide();
});
我将使用正则表达式来提取它
this.id.match(/[0-9]+$/)
我将使用正则表达式来提取它
this.id.match(/[0-9]+$/)
您可以使用jQuery可用的任意数量的选择器 例如,使用CSS类:
<div class="step-info" style="margin-left: 13px; display: none; width: 420px;">
<div>
<i class="step-info-close">Close</i>
</div>
<div>
<ul>
<li>info item step 1A</li>
<li>info item step 1B</li>
</ul>
</div>
</div>
<!-- and so on -->
您可以使用jQuery可用的任意数量的选择器 例如,使用CSS类:
<div class="step-info" style="margin-left: 13px; display: none; width: 420px;">
<div>
<i class="step-info-close">Close</i>
</div>
<div>
<ul>
<li>info item step 1A</li>
<li>info item step 1B</li>
</ul>
</div>
</div>
<!-- and so on -->
没有必要一直数数。 您还可以使用类并将所单击的元素作为目标 尝试用类替换ID,并使用以下代码:
$('.step-info').click(function() {
$(this).parent().next().toggle();
});
$('.step-info-close').click(function() {
$(this).parent().parent().toggle();
//alert($(this).parent().attr("class"));
});
看下面的小提琴
没有必要继续计数。 您还可以使用类并将所单击的元素作为目标 尝试用类替换ID,并使用以下代码:
$('.step-info').click(function() {
$(this).parent().next().toggle();
});
$('.step-info-close').click(function() {
$(this).parent().parent().toggle();
//alert($(this).parent().attr("class"));
});
看下面的小提琴
正如Adeneo所建议的,您应该使用classAs,正如Adeneo所建议的,您应该使用ClassDoesn,如果您使用基于0的索引,是否将其限制为最多10个元素?如果您认为我下面的答案足以获得数字(使用正则表达式),您可以将其合并到您的答案中,我将删除我的答案。@JosephMarikle-您是对的,它确实将数字限制为一个数字,因此仅为0-9。至于正则表达式,我想我可能会使用
/\d+/.exec(this.id)
,但类似乎是其中的一种方式。如果使用基于0的索引,是否会将其限制为最多10个元素?如果您认为我下面的答案足以获得数字(使用正则表达式),您可以将其合并到您的答案中,我将删除我的答案。@JosephMarikle-您是对的,它确实将数字限制为一个数字,因此仅为0-9。至于regex,我想我可能会使用/\d+/.exec(this.id)
,但是类似乎是一种方法。