javascript - 返回与 jQuery 连接的动态字符串
问题描述
我想使用 jquery 在我的 javascript 代码中包含以下内容:
$('.attrs span:nth-child(1)').text() + ' | ' + $('.attrs span:nth-
child(2)').text() + ' | ' + $('.attrs span:nth-child(3)').text() ...
虽然子跨度元素的数量会发生变化,但我已经像这样动态地处理它:
function getString(containerElem) {
var str = '';
for (var i = 0; i < containerElem.children().length; i++) {
((i + 1) == containerElem.children().length) ? str += '$(\'.attrs span:nth-child(' + (i + 1) + ')\').text()' : str += '$(\'.attrs span:nth-child(' + (i + 1) + ')\').text() + \' \' + ';
}
return str;
}
当我将它作为字符串返回时,jQuery 将无法工作,因为它$
现在也是一个字符串,我是否可以使用一些标志或全局变量以某种方式添加到字符串中,即$.getString() + $.getString2()...
取决于我的容器有多少跨度元素?
解决方案
你不需要知道<span>
你有多少,你可以用 选择它们
$('.attrs span')
。
然后,只需获取它们的文本值innerText
并用于Array#join
创建您的String
:
let spans = $('.attrs span');
let result = spans.get().map(e => e.innerText).join(' | ');
console.log(result);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="attrs">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
</div>
推荐阅读
- android - 如何按前一天的按钮,前一天的日历应该来?
- android - ViewModel:检查片段是恢复还是停止
- python - 验证性能可以从 MNIST 训练数据和测试数据输出吗?
- css - 为什么 bulma 会覆盖我的 vue3 组件 css?
- azure-databricks - 如何使用已发布管道的 PipelineParameter 通过 DatabricksStep 指定 databricks 笔记本小部件?
- angular - .NET 5 和 Angular 11 托管在 Azure Web 应用程序中
- javascript - 如何在javascript中使用过滤器和地图
- replication - 数据库中多领导者与无领导者复制的优缺点?
- node.js - nestjs typeorm 将相同的查询写入不同的数据库
- css - 如何将响应框与左对齐框居中在同一行?