在公共'root'使用jQuery
Select another div within a common 'root' using jQuery
我有这样的结构:
<div class="root">
<div class="image">
<div class="price">$100</div>
</div>
<div class="productinfo">
<div class="title" id="title1">Banana</div>
</div>
</div>
<div class="root">
<div class="image">
<div class="price">$14</div>
</div>
<div class="productinfo">
<div class="title" id="title2">Spoon</div>
</div>
</div>
现在,我需要知道具有$100
内容的类price
的div的宽度,而不是最终得到div $14
的宽度但代码需要从$("#title1")
开始。我该怎么做?或者,我应该如何选择元素的父元素,然后选择具有该父元素特定类的子元素?谢谢
您可以使用函数closest()
进行以下操作:
$("#title1").closest('.root').find('.price').text();
演示
第二种可能性是使用parents()
-函数:
$("#title1").parents('.root').find('.price').text();
演示2
参考
closest()
parents()
如果您不知道"公共"父类,可以使用一种更通用的方法:
$("#title1").closest(":has(.price)").find(".price")
示例:
$(function() {
$(".title").click(function() {
$(this).closest(":has(.price)").find(".price").hide().fadeIn("slow");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<p>Click on labels to highlight corresponding price</p>
<div>
<div class="image">
<div class="price">$100</div>
</div>
<div class="productinfo">
<div class="title" id="title1">Banana</div>
</div>
</div>
<div>
<div class="image">
<div class="price">$14</div>
</div>
<div class="productinfo">
<div class="title" id="title2">Spoon</div>
</div>
</div>
您还可以使用html()
获取值
像这样:
var price = $("#title1").closest('.root').find('.price').html();
alert(price);
相关文章:
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何在Angular2中使用jQuery插件
- 如何使用jQuery选择下拉列表的值
- 使用JQuery解析JSON嵌套数组
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- 使用jquery将mysql数据获取到新的表行中
- 如何使用jquery Validation验证Formspread
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 使用jQuery动态添加表并在其中动态添加行
- 使用jquery在单击时在单元格中输入值
- 如何使用jQuery在动画中期加速动画
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 使用JQuery的动态上下文菜单
- 使用jQuery以红色和黑色闪烁文本
- 如何使用jquery更改html中的背景颜色
- 使用jQuery从原始页面内容创建iframe