原始问题
目标
使用 jQuery,获取.intro-portfolio
类中的每个元素。如果元素不是第一个元素,则将其替换为""
(nothing, blank, null bytes)。
我做了什么
环顾四周,我发现了这些 问题,并尝试将它们应用于我的情况。简化代码如下:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
$(".intro-portfolio:not(:first-child)").each(function() {
$(this).repalceWith("");
});
});
</script>
<body>
<p>Test this is the control</p>
<p class="filter">This is the first</p>
<p class="filter">Second</p>
<p class="filter">Third</p>
</body>
</html>
当然,这不起作用(你能告诉我我不是 javascript/jQuery 开发人员吗?我敢打赌,你对那里打破的语法规则感到畏缩)。
你将如何实现这一点?
语境
Tumblr 主题 - 与问题无关,但它解释了为什么我不知道该类将应用于哪个元素 - 它可能是一个img
,或一个iframe
等。
更新
非常感谢所有回答的人!显然这样一个简单的问题只有一种真正的方法,但谢谢大家的回答!为所有人投票。
更新 1:在尝试解决方案时,我发现虽然它从显示中删除了元素,但它们仍在加载。
这是我的实现:
<html>
<head>
...
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
...
/* Remove HTML for all but first portfolio on home page */
$(".intro-portfolio").slice(1).remove();
</script>
</head>
<body>
...
</body>
</html>
但是当我查看源代码时,元素仍然存在。文档页面上的第三个代码摘录不是说元素不应该加载或存在吗?
查看开发站点以获取实际的完整代码。