在使用jquery将值传递给数组之前,有没有办法检查元素是否存在。
例如,我有以下代码:
hyperlinks = new Array();
$(slideshowThumbs).find('.caption').find('a:first').each(function() {
hyperlinks.push($(this).attr('href'));
});
传递并存储项目列表中的值,并告诉我它们的href值是什么。
我目前遇到的问题是,如果我的列表中的第2项不包含链接,则在第2位传递的值实际上是第3项中的值,而不是2。
我想要做的是查看是否有一个a:首先在标题容器内部,如果没有将值传递给数组,我可以随后进行检查。为了保留数组中的项目列表与列表中的项目列表相同。
有什么想法吗?
非常感谢
修改 感谢您的建议,虽然他们没有直接工作,但他们确实让我的大脑参与了我想要做的事情 - 感冒编码,并不总是很好的组合。
无论如何,我的解决方案如下:
hyperlinks = new Array();
$(slideshowThumbs).find('.caption').each(function() {
var elemExists = $(this).find('a:first');
if (elemExists) {
hyperlinks.push($(this).find('a:first').attr('href'));
}
else {
hyperlinks.push('noLink');
}
});
再次感谢!
答案 0 :(得分:1)
我认为你正在寻找类似的东西
if ( $(this).attr('href') != '' )
hyperlinks.push($(this).attr('href'));
else
hyperlinks.push("no_link");
答案 1 :(得分:0)
试试这个。
hyperlinks = new Array();
$(slideshowThumbs).find('.caption').find('a:first').each(function() {
if ($(this).attr('href')) {
// attribute exists
hyperlinks.push($(this).attr('href'));
}
});