首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抓取PHP生成的元素中包含的文本

抓取PHP生成的元素中包含的文本
EN

Stack Overflow用户
提问于 2012-03-30 02:19:35
回答 3查看 93关注 0票数 1

我在抓取一些PHP代码生成的header标记中的实际文本时遇到了问题。这是我抓取的页面的一部分。

代码语言:javascript
复制
<div class="container">
  <div class="majorContainer">
    <h2>Your results for: <small>"tables"</small></h2>
    <hr />
    <div class='accordionButton'>
      <h3 style="display:inline">1. </h3>
      <h3 style="display:inline" id='major-1'>Electrical Engineering Technology</h3>
      <p>...</p>
    </div>
    <div class='accordionButton'>
      <h3 style="display:inline">2. </h3>
      <h3 style="display:inline" id='major-2'>Retail Management</h3>
      <p>...</p>
    </div>

基本上,当用户点击一个'accordionButton‘时,我想从那个特定按钮的header标签中拉出文本。在我的PHP中,我为每个header标记分配了一个ID,因为我想我可以这样做:

代码语言:javascript
复制
document.getElementById(this.getElementsByTagName("h3")[0].id).text

当我在一个消息框中提醒这一点时,我只看到“未定义”。我试着,相反,只是做了.

代码语言:javascript
复制
$(this).text()

...but这返回了"1.电气工程技术...“这不是我想要的。我只想要包含在h3标签中的标题“电气工程技术”。

我做错了什么?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-30 02:26:39

这会有帮助吗?我使用的是jquery 1.7.1。

代码语言:javascript
复制
$(".accordionButton").on("click", function(){
   alert($(this).find("h3").eq(1).text()); 
});

如果您需要了解更多关于jquery的知识,这里有一个非常好的http://tutsplus.com/course/30-days-to-learn-jquery/入门链接。

票数 1
EN

Stack Overflow用户

发布于 2012-03-30 02:28:10

代码语言:javascript
复制
$(this).find("h3:last").text();

正如DG3所指出的,你不能仅仅通过ID选择--我忽略了最初的请求。我已经修改了这个答案,以反映实际的解决方案。

票数 1
EN

Stack Overflow用户

发布于 2012-03-30 02:28:50

代码语言:javascript
复制
$('.accordionButton').click(function(){
    alert( $(this).find('h3:last').text())
});

演示:http://jsfiddle.net/Mq4JS/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9931134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档