URLパスを取得してボディクラスとして追加するJQuery関数があります。
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クラスは次のようになります。
<body class="myapp-user list">
問題は、3つの単語すべてにダッシュを付けたいので、次のようにする必要があります。
<body class="myapp-user-list">
..そして、CSSを使用してテーマを設定できます。
.myapp-user-list {
}
正規表現に問題があると確信していますが、どこに問題があるのかわかりません。さまざまなテキスト関数を試しましたが、問題は、ページからすべてのテキストを取得し、それをbodyクラスとして配置することでした。
var text = $(this).text();
var newClass = $.trim(text.replace(/\(\d*\)/g, '').toLowerCase()).replace(/\s/, '-');