javascript - 如何在 jQuery 中将元素存储为对象而不是 HTML 元素?
问题描述
在 HTML 表中,我有这样的一行:
<tr class="csp-criterion">
<td>Lorem ipsum</td>
<td><input type="number"></td>
<td class="csp-matrix-value">10</td>
<td></td>
<td class="csp-matrix-value">4</td>
<td></td>
<td class="csp-matrix-value">7</td>
<td></td>
</tr>
现在我想用 class 获取每个元素csp-matrix-value
,以便稍后访问该元素内的文本。所以我将元素存储在这样的变量中:
$ratingTds = $('tr').children('td.csp-matrix-value');
我期待我以后可以做这样的事情:
$ratingTds.each().text();
但这会导致错误。我认为这些元素不是作为对象存储的,而是作为纯 HTML 元素存储的。但我真的不确定,这里发生了什么。
解决方案
.each()
接受一个函数作为参数:
$ratingTds = $('tr').children('td.csp-matrix-value');
$ratingTds.each((_, el) => console.log($(el).text()));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr class="csp-criterion">
<td>Lorem ipsum</td>
<td><input type="number"></td>
<td class="csp-matrix-value">10</td>
<td></td>
<td class="csp-matrix-value">4</td>
<td></td>
<td class="csp-matrix-value">7</td>
<td></td>
</tr>
</table>
推荐阅读
- mysql - Issues with custom mysql docker image
- javascript - How to extract content between double curly braces with nested curly braces
- html - Formatting divs inside div container
- javascript - Observable 运算符 takeUntil() 是否取决于它在 pipe() 中的顺序
- c++ - NodeJS - Compile shared cpp libraries in GCP Cloud Functions
- docker - How to change Prometheus.yml file in the container
- google-chrome-extension - Can't access function in another CoffeeScript file?
- mysql - Docker mysql 8 - 无法将 mysql 文件夹绑定到 Windows 10 文件夹。得到一个 mbind 错误
- java - Eclipse 引用 Jar 文件中的文件夹
- slim - Slim 3:如何从请求头中访问用户信息