我正在使用以下jQuery代码尝试获取元素内的文本并将其添加到我的变量中:
<script>
var title = $('h3').html();
alert(title);
</script>
但是,我的浏览器警告我“未定义”,而不是标记内的值。知道我在做什么错吗?
这是供参考的html部分:
<article>
<div class="row">
<div class="columns large-6 large-centered medium-8 medium-centered small-12">
<h3>This is the post title</h3>
<h4>written by <b>Myself</b></h4>
<section>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla lacinia urna sit amet convallis dictum. Curabitur non sodales orci. Praesent vel gravida felis. Cras ultricies velit mi, eget efficitur ipsum tempus nec.</p>
</section>
</div>
</div>
</article>
谢谢
答案 0 :(得分:1)
这是使用普通JavaScript的解决方案;您实际上并不需要jQuery。
var h3element = document.getElementsByTagName("h3")[0];
这将返回文档中所有h3
元素的数组,您将使用第0个索引。然后,只需访问innerHTML属性:
var h3content = h3element.innerHTML;
完整的解决方案如下所示:
<script>
var title = document.getElementsByTagName("h3")[0].innerHTML;
alert(title);
</script>
答案 1 :(得分:1)
如果代码超出了标记范围(例如标头中),请尝试等待文档触发ready事件。如果只需要文本,请在jQuery中使用text函数。
<script>
$(function() {
var title = $('h3').text();
alert(title);
});
</script>
答案 2 :(得分:0)
执行以下操作:
alert(document.getElementsByTagName('h3')[0].innerHTML)