$(window).resize(function(){
if ($(window).width() <= 500){
$("body").append("<a href='#'>Home</a>");
}
});
注意散列标签周围的单引号(您的代码现在应该可以工作了)。
如果你想在双引号字符串中使用双引号,你的另一个选择是转义它们,例如:
"<a href=\"#\">Home</a>"
注意到反斜杠了吗? 转义一个特殊字符。这种方法也应该适用于你。同样的工作方式相反。因此,总而言之,所有这些都将起作用:
"<a href=\"#\">Home</a>"
"<a href='#'>Home</a>"
'<a href=\'#\'>Home</a>'
'<a href="#">Home</a>'
请参阅这篇文章,jQuery API Documentation: String Quoting,了解更多信息。
重要
如果用户调整浏览器的大小,例如 3 次,那么您的脚本最终会附加 3 个不同的锚元素,我认为这不是您想要的。
因此,您可能会考虑将链接放在 HTML 页面中,然后使用 CSS 将其隐藏。然后,当用户低于 500px 时,您可以显示该元素,当用户高于 500px 时,您可以再次隐藏它,如下所示:
HTML:
<!--- everything else in the Body -->
<a class="hidden-link" href="#">Home</a>
CSS:
.hidden-link {
display: none;
}
jQuery:
$(window).resize(function(){
if ($(window).width() <= 500) {
$('.hidden-link').show();
} else {
$('.hidden-link').hide();
}
});
另外,作为旁注,由于我没有看到您的其余代码,请确保您将所有内容放入 $(function() { }); (如果您没有t already),一旦浏览器有机会将所有 HTML 解析到 DOM 中,它就会执行所有操作。
纯 CSS 方法
如果愿意,您可以简单地使用媒体查询:
.hidden-link {
display: none;
}
@media only screen
and (max-width : 500px) {
.hidden-link {
display: inline;
}
}