作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
以下代码允许用户点击抽认卡的问题并显示答案。
问题是它会显示所有抽认卡的所有答案。
我如何传递每个抽认卡的 ID,以便用户可以单击标题并打开和关闭问题?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript"
src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.4.0");
google.setOnLoadCallback(function() {
$("div > div.answer").hide();
$("div > div.question").click(function() {
$("div > div.answer").fadeIn("slow");
});
});
</script>
<style>
div.flashcard {
margin: 0 10px 10px 0;
}
div.flashcard div.question {
background-color:#ddd;
width: 400px;
padding: 5px;
}
div.flashcard div.answer {
background-color:#eee;
width: 400px;
padding: 5px;
}
</style>
</head>
<body>
<div id="1" class="flashcard">
<div class="question">Who was Wagner?</div>
<div class="answer">German composer, conductor, theatre director and essayist, primarily known for his operas (or "music dramas", as they were later called). Unlike most other opera composers, Wagner wrote both the music and libretto for every one of his works.</div>
</div>
<div id="2" class="flashcard">
<div class="question">Who was Thalberg?</div>
<div class="answer">a composer and one of the most distinguished virtuoso pianists of the 19th century.</div>
</div>
</body>
</html>
最佳答案
您无需传入 ID。只需从点击的div遍历到你想要的答案即可。 this
指的是事件的来源,在本例中是一个类为“question”的 div。
$("div.question").click(function() {
$(this).next().fadeIn("slow");
});
此外,假设您的标记是准确的,这可以简化:
$("div > div.answer").hide();
简单地
$("div.answer").hide();
但我实际上会用 CSS 来做:
div.answer { display: none; }
因此在页面加载时不需要执行 Javascript。根据我的经验,当像您一样将 jQuery 异步加载与 Google AJAX 库 API 一起使用时,页面将呈现,然后您的抽认卡答案将明显消失。这往往是不希望的。只需使用 CSS 来隐藏它们。
另外,jQuery 是在一两天前升级到 1.4.1 版的。
关于javascript - 如何将 id 传递给 jquery 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2144955/
我是一名优秀的程序员,十分优秀!