javascript - 单击时获取内容的innerHTML
问题描述
我试图让p
标签的文本更改为li
我点击的那个标签的文本。但是,它总是更改为第一个。
Javascript
$('li').click(function() {
$('p').html($('li').html());
})
HTML
<p>text</p>
<ul id='ul'>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
解决方案
$('li').html()
将抓取第一个匹配li
元素的 HTML 。改为使用this
,指的li
是被点击的。但是,由于您没有插入 HTML 标记,而只是插入纯文本,因此使用以下.text
方法会更合适:
$('li').click(function() {
$('p').text($(this).text());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>text</p>
<ul id='ul'>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
或者,如果你愿意,不需要像 jQuery 这样简单的大型库:
const p = document.querySelector('p');
document.querySelector('#ul').onclick = ({ target }) => {
p.textContent = target.textContent;
};
<p>text</p>
<ul id='ul'>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
推荐阅读
- bash - 如何在shell脚本中连接变量中包含空格的文件夹路径列表
- javascript - Javascript 的 removeEventListener 不起作用
- python - 在 Python 中将 ctypes 用于消息框
- java - doAfterTerminate 在 Flux 完成之前发生
- python - 根据另一个txt文件的排列重新排列文本文件?(Python)
- sql - 保留表中的特定列
- nginx - Nginx 根据浏览器语言将 https 重定向到 http
- atata - 带有 text() 的 XPath 以获取特定的文本节点
- python - 如何从数据框中的 url 中删除子文件夹和扩展名
- material-ui - 有没有办法从 DatePicker 的弹出对话框中删除“工具栏”?