我有一个 JQuery 函数,它获取 URL 路径并将其添加为正文类:
var pathname = window.location.pathname;
var pathSlashesReplaced = pathname.replace(/\//g, " ");
var pathSlashesReplacedNoFirstDash = pathSlashesReplaced.replace(" ","");
var newClass = pathSlashesReplacedNoFirstDash.replace(/\(\d*\)/g, '').replace(/\s/, '-');
$("body").addClass(newClass);
if ( $("body").attr("class") == "")
{
$("body").addClass("class");
}
.. 因此,如果 url 类似于/myapp/user/list,则主体类最终为:
<body class="myapp-user list">
问题是我希望所有三个词都带有破折号,所以它应该是:
<body class="myapp-user-list">
.. 然后我可以使用 CSS 来设置主题:
.myapp-user-list {
}
我很确定我的 RegEx 有问题,但我不知道问题出在哪里。我尝试了各种文本函数,但问题是它从页面中获取了所有文本并将其作为正文类放入:
var text = $(this).text();
var newClass = $.trim(text.replace(/\(\d*\)/g, '').toLowerCase()).replace(/\s/, '-');
最佳答案
尝试:
var newClass = location.pathname.split('/').join('-').replace(/(^-|-$)/g,''),
$body = $("body").addClass(newClass);
if ($body.attr("class") == "") {
$body.addClass("class");
}
我会避免类名 class
。它可能会带来问题。
关于javascript - 连接正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694623/