尝试以相当奇怪的 html 结构获取 url 的最后一部分。不要问为什么要这样 build 。这背后有一个很好的理由。
html 看起来像这样
<li class="lifilter"><input type="checkbox" class="filtercheck" id="Cheeks...">
<label for="Cheeks...">
<a href="/collections/cheeks">Cheeks</a>
</label>
</li>
以及我正在尝试使用的js
$('#Cheeks... label a').each(function(){
var lasturl = $(this).attr('href');
var urlsplit = url.split("/");
var finalvar = urlsplit[4];
$(this).addClass(finalvar);
});
编辑:该死的..我只能每 90 分钟发一次。 这是更新后的问题和更新的 html
<li class="lifilter">
<input type="checkbox" class="filtercheck" id="Cheeks...">
<label for="Cheeks...">
<a href="/collections/cheeks" class="cheeks">Cheeks</a>
</label>
</li>
以及我尝试使用的js代码(来自之前的答案)
$('.lifilter').each(function(){
$(this).find(".filtercheck").next('label').find('a').each(function(){
var lasturl = $(this).attr('href');
var urlsplit = lasturl.split("/");
console.log(urlsplit);
var finalvar = urlsplit.pop();
console.log('Adding class: ' + finalvar);
$(this).addClass(finalvar);
});
});
最佳答案
好的,看来这里没有人在发布之前尝试尝试这里的解决方案。
首先要做的是脸颊...
。这是一个很难找到的 ID(您必须避开句点)。 label
也不是内部 html 的一部分,其中 ID 为 cheeks...
,因此我们需要找到相邻元素并查看 a
> 您正在寻找的 anchor 标记。
代码如下:
$(document).ready(function() {
$('#Cheeks\\.\\.\\.').next('label').find('a').each(function(){
var lasturl = $(this).attr('href');
var urlsplit = lasturl.split("/");
console.log(urlsplit);
var finalvar = urlsplit.pop();
console.log('Adding class: ' + finalvar);
$(this).addClass(finalvar);
});
});
和here是一个有效的 jsfiddle 解决方案。
关于javascript - 获取url的最后一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29338707/