我试图将div的一部分作为变量。
例如我有一个像这样的div
<div class="menu-link scrollto-1">Home</div>
我也有点击此元素时运行的javascript(传递的其他2个变量对此没有影响,所以为了便于阅读,我删除了它们。
$(".menu-link").click(function() {
var scroll = $(this).hasClass("scrollto-");
alert (scroll);
tabChange(menuTab,page, scroll);
});
我需要做的是:
我有点难过如何实现这一点(因为有2个类不仅仅是1)而且我不确定如何继续。任何建议都表示赞赏。
由于
答案 0 :(得分:1)
你最好将它放入数据属性
<div class="menu-link scrollto-1" data-scroll="1">Home</div>
$(".menu-link").click(function() {
var scroll = $(this).data("scroll");
alert (scroll);
tabChange(menuTab,page, scroll);
});
或者如果您想按原样重用该类:
<div class="menu-link scrollto-1" data-scroll="scrollto-1">Home</div>
$(".menu-link").click(function() {
var scroll = $(this).data("scroll").replace("scrollto-", "");
alert (scroll);
tabChange(menuTab,page, scroll);
});
如果你不能改变html:
$(".menu-link").click(function() {
var cls = $(this).attr("class");
var idx = cls.indexOf("scrollto-");
var scroll = cls.substring(idx+9);
tabChange(menuTab,page, scroll);
});
答案 1 :(得分:0)
您可以使用正则表达式匹配来获取className
属性中的数字:
$(".menu-link").click(function() {
var scroll = this.className.match(/scrollto-(\d+)/)[1];
alert (scroll);
tabChange(menuTab,page, scroll);
});