首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery最接近的h2值?

jquery最接近的h2值?
EN

Stack Overflow用户
提问于 2019-01-10 02:03:33
回答 2查看 773关注 0票数 1

当我点击按钮时,我想要获取h2的值,我所做的是使用一个变量

代码语言:javascript
复制
var getClassName = $(this).closest('div').attr('class'); 

它给了我它的父类,现在我有了想要获取它的h2的父类,所以我尝试了

代码语言:javascript
复制
var getH2Val= $('.'+getClassName+' h2').val(); 

这给了我未定义的价值。

代码语言:javascript
复制
<div id="search-7" class="section-1">
    <h2>Test head</h2>
    <p>test paragraph</p>
    <p><a class="testclass" href="#test2"><button>button</button> </a></p>
</div>

<div id="search-8" class="section-1">
    <h2>Test head</h2>
    <p>test paragraph</p>
    <p><a class="testclass" href="#test2"><button>button</button>    </a></p>
 </div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-10 02:06:19

您的closest()逻辑是正确的。但是,您需要在该元素中使用find()来检索h2。还要注意的是,h2元素没有‘值’。要检索其中的文本,请使用text()

最后请注意,不能将button元素放在a中,因为嵌套的可单击元素在HTML中是无效的。因此,我在下面的示例中删除了a元素,因为它不是必需的。

代码语言:javascript
复制
$('button').click(function() {
  var h2Text = $(this).closest('div').find('h2').text();
  console.log(h2Text);
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="search-7" class="section-1">
  <h2>Test head #1</h2>
  <p>test paragraph</p>
  <p><button>button</button></p>
</div>

<div id="search-8" class="section-1">
  <h2>Test head #2</h2>
  <p>test paragraph</p>
  <p><button>button</button></p>
</div>

票数 5
EN

Stack Overflow用户

发布于 2019-01-10 02:19:51

另一种更类似于您的代码的方法是获取父id属性(因为它们在文档中应该是惟一的)。请注意,在选择器上使用class属性并不能确保匹配唯一的元素。

代码语言:javascript
复制
$('button').click(function()
{
    var parentID = $(this).closest('div').attr('id');
    var h2Text = $('#' + parentID + ' h2').text();
    console.log(h2Text);
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="search-7" class="section-1">
  <h2>Test head #1</h2>
  <p>test paragraph</p>
  <p><button>button</button></p>
</div>

<div id="search-8" class="section-1">
  <h2>Test head #2</h2>
  <p>test paragraph</p>
  <p><button>button</button></p>
</div>

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

https://stackoverflow.com/questions/54115940

复制
相关文章

相似问题

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