对象不支持 属性 或方法 'slice'
Object doesn't support property or method 'slice'
我是 Javascript/Jquery 世界的新手。
我有一个带有多个链接的 div,我想收集 url 的 .
然后我想从那些 href 中提取最后 9 个字符(实际上我想优化它并独立地收集每个字符串末尾的数字)。我试图用 slice()
方法,但它不起作用。
在控制台中,错误是
Object doesn't support property or method 'slice'
我可以将对象转换为字符串吗?感谢您的帮助!
代码如下
$(document).ready(function(){
var $posts= $('a.entry_title').each(function(){
$(this).attr('href');
});
var posts1 = $posts[0].slice(-9);
var posts2 = $posts[1].slice(-9);
var posts = ["MyURL"+ posts1,"MyURL"+posts2]
$('#div1').load(posts[0] + " .shadow3");
$('#div2').load(posts[1] + " .shadow3");
});
</script>
您看到对象不支持,因为 $.each returns 一个 jQuery 对象。
改用 .map() 因为它 returns 切片可以在其上工作的数组
var $posts= $('a.entry_title').map(function(){
return $(this).attr('href');
});
结果会是
["link1", "link2", "link3"....] // just a sample
如果你想得到一个 hrefs 数组,每个 hrefs 的最后九个字符 link 你可以这样使用 map
var $posts= $('a.entry_title').map(function(){
return $(this).attr('href').slice(-9); // or you can do your own magic
});
结果如下所示
["k1", "k2", "k3"....] // after slicing the words
试试下一个:
var hrefs = []; // list of collected and sliced hrefs.
var $posts= $('a.entry_title').each(function() {
// slice & push each href into list.
hrefs.push($(this).attr('href').slice(-9));
});
console.log('href list:', hrefs); // control result.
var posts = ["MyURL"+ hrefs[0],"MyURL"+hrefs[1]]
我是 Javascript/Jquery 世界的新手。 我有一个带有多个链接的 div,我想收集 url 的 .
然后我想从那些 href 中提取最后 9 个字符(实际上我想优化它并独立地收集每个字符串末尾的数字)。我试图用 slice()
方法,但它不起作用。
在控制台中,错误是
Object doesn't support property or method 'slice'
我可以将对象转换为字符串吗?感谢您的帮助! 代码如下
$(document).ready(function(){
var $posts= $('a.entry_title').each(function(){
$(this).attr('href');
});
var posts1 = $posts[0].slice(-9);
var posts2 = $posts[1].slice(-9);
var posts = ["MyURL"+ posts1,"MyURL"+posts2]
$('#div1').load(posts[0] + " .shadow3");
$('#div2').load(posts[1] + " .shadow3");
});
</script>
您看到对象不支持,因为 $.each returns 一个 jQuery 对象。
改用 .map() 因为它 returns 切片可以在其上工作的数组
var $posts= $('a.entry_title').map(function(){
return $(this).attr('href');
});
结果会是
["link1", "link2", "link3"....] // just a sample
如果你想得到一个 hrefs 数组,每个 hrefs 的最后九个字符 link 你可以这样使用 map
var $posts= $('a.entry_title').map(function(){
return $(this).attr('href').slice(-9); // or you can do your own magic
});
结果如下所示
["k1", "k2", "k3"....] // after slicing the words
试试下一个:
var hrefs = []; // list of collected and sliced hrefs.
var $posts= $('a.entry_title').each(function() {
// slice & push each href into list.
hrefs.push($(this).attr('href').slice(-9));
});
console.log('href list:', hrefs); // control result.
var posts = ["MyURL"+ hrefs[0],"MyURL"+hrefs[1]]