当我点击元素A时,我想改变元素B的文本
When I click Element A, I want to change text of Element B
这个想法是,当我点击h1。问题,h1中的字符串。答案将更改为h1中的字符串。问题是data-text-swap。例如,如果我点击"What is wrong with you?",我应该会在h1.answer看到答案"Nothing"。
我试过使用。text(),但我认为这不是正确的答案,因为我计划放10个问题,写10次。text()有点荒谬。
帮助!
更新:哇!非常感谢你的回答!这里所有的答案都非常迅速和容易理解。今晚我要再看一遍。非常感谢!!
<h1 class="answerswer">Answer here</h1></div>
<h1 class="question" data-text-swap="Nothing">What is wrong with you?</h1>
<h1 class="question" data-text-swap="Good!">How is the weather today?</h1>
<h1 class="question" data-text-swap="Everything">What is wrong with him?</h1>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$("h1.question").click(ontop);
function ontop() {
$("h1.answer").text(("h1.question").data("text-swap"));
}
</script>
两个问题:
- 您缺少
$("h1.question").data(...)
中的 - 在同一行中,使用
$(this)
而不是$("h1.question")
来获取点击项目的文本
$
即修改:
$("h1.answer").text(("h1.question").data("text-swap"));
:
$("h1.answer").text($(this).data("text-swap"));
在上下文:$("h1.question").click(ontop);
function ontop() {
$("h1.answer").text($(this).data("text-swap"));
}
<h1 class="answerswer">Answer here</h1></div>
<h1 class="question" data-text-swap="Nothing">What is wrong with you?</h1>
<h1 class="question" data-text-swap="Good!">How is the weather today?</h1>
<h1 class="question" data-text-swap="Everything">What is wrong with him?</h1>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
您将所有h1上的单击处理程序与类'question'绑定,因此,如果您只是动态引用已单击的元素,您最终将使用(几乎)一行代码:
$('h1.question').on('click', function() {
$('h1.answer').text($(this).attr('data-text-swap'));
});
不需要写10次text()…
假设始终只有一个'answer'元素。如果每个问题都有一个'answer'元素,则应该从$(this) obj遍历到它。
正如@AndrewL指出的,你在这里缺少一个$
:
$("h1.answer").text(("h1.question").data("text-swap"));
^
但是,您也可以使用this
来代替从h1.question
获取数据。
$("h1.answer").text($(this).data("text-swap"));
相关文章:
- innerHTML赢得't改变元素
- 可以't改变'name'元素的属性
- 为什么当我分配给element.style时,我的元素的样式没有改变
- 这是关于Jquery/JS的,如果我改变元素's HTML-我可以对它执行其他Jquery/JS操作吗
- 为什么硒会改变元素's href
- 有些元素没有被改变,即使它们应该被改变
- 从中删除元素后,javascript 数组的长度不会改变
- 如何使JQuery同位素与改变高度的元素一起工作
- javascript悬停在一个元素上会改变另一个元素
- 为什么我的
- 元素上的颜色属性没有改变我的 .hover() 事件处理程序
- 函数不能计算分数和改变页面元素的值
- 我希望我的操作改变它所附加的DOM元素
- Jquery在多个元素改变前调用函数
- 在图像元素改变了src之后,计时函数的运行时间
- 防止firefox在溢出元素改变时重置滚动条位置
- HTML范围元素改变CSS过滤器
- Knockout.js |可观察数组只在最后一个元素改变时触发
- jQuery自定义验证器方法在元素改变时被调用
- jQuery用子元素改变变量
- Div元素改变位置后的效果