jquery - 如何获取特定的html元素
问题描述
我只需要 .foo 中的图像标签,而不是所有的 HTML。我摆弄了 filter()、children()、find(),但我只是不知道如何去做我需要做的事情。有人可以帮忙吗?
$modules =
$('.foo').map(function() {
return $(this).html();
}).get().join("<br>");
alert($modules);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="foo">
<h5>Text</h5>
<div class="remove">X</div>
<img class="image" src="img.png">
</div>
<div class="foo">
<h5>Text2</h5>
<div class="remove">X</div>
<img class="image" src="img2.png">
<h5>Text3</h5>
<div class="remove">X</div>
<img class="image" src="img3.png">
</div>
<div class="foo">
<h5>Text4</h5>
<div class="remove">X</div>
<img class="image" src="img4.png">
</div>
解决方案
您需要使用.prop()
方法自己获取img标签,如下所示:
.prop('outerHTML');
首先使用选择器获取图像标签的集合'.foo img'
,然后获取它们的outerHTML
属性。
这是一个解决方案
$modules =
$('.foo img').map(function() {
return $(this).prop('outerHTML');
}).get().join("<br>");
alert($modules);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="foo">
<h5>Text</h5>
<div class="remove">X</div>
<img class="image" src="img.png">
</div>
<div class="foo">
<h5>Text2</h5>
<div class="remove">X</div>
<img class="image" src="img2.png">
<h5>Text3</h5>
<div class="remove">X</div>
<img class="image" src="img3.png">
</div>
<div class="foo">
<h5>Text4</h5>
<div class="remove">X</div>
<img class="image" src="img4.png">
</div>
推荐阅读
- node.js - 如何从 Express 添加 firebase 电话号码 otp 身份验证 API
- caching - 如果将动态数据槽放入 amp-ad 中,Google AMP 缓存能否正常工作
- javascript - 为什么在修改类的本地属性时会执行 ngOnChanges?
- python - 在 Numpy 中找到最近点的最快方法
- ios - 当一天的第一次打开时,Xamarin 形成 iOS 应用程序有时会崩溃
- javascript - 在js中使用正则表达式从字符串中提取单词
- excel - 如何将两个工作表中的对象链接到PowerPoint?
- python - scipy.stats.gamma.fit() 的负面观察
- angular - Angular 7:在浏览器中监听外部应用程序的 URL 变化
- javascript - React Hooks Clock - 在一定时间后清除 SetInterval