JQuery: 多个匹配结果加换行的最简单方法
JQuery: Simplest way to add line breaks to multiple matching results
作为使用 WKWebView 的 iPhone 应用程序的一部分,我加载 Jquery(版本 2.2.3)并执行以下代码以检索 [=] 的所有 div
元素34=] 匹配给定的 class 名称,例如test
:
$('div.test').text()
使用 swift 中编写的以下回调 completionHandler
,执行结果产生:
func completionHandler(result: AnyObject?, error: NSError?) {
if let result = result as? String {
print(result)
}
}
输出:
result1result2result3
但我需要:
result1
result2
result3
现在我想为每个匹配的元素附加一个换行符。我已尝试执行以下操作但没有成功:
$('div.test').text().append('\n')
或
$('div.test').text().join('\n')
是否有一种简单的单行无嵌入式函数方法来将换行符附加到每个结果,以便可以从 swift 端进行解析?
经过大量 trial/error 后确定,这会产生所需的结果:
$('div.test').map(function() { return $(this).text().concat('\n'); }).get().toString()
您可以使用 reduce
函数将数组缩减为字符串等。
$('div.test').toArray().reduce(function(previous, current){
return previous+'\n'+current
})
作为使用 WKWebView 的 iPhone 应用程序的一部分,我加载 Jquery(版本 2.2.3)并执行以下代码以检索 [=] 的所有 div
元素34=] 匹配给定的 class 名称,例如test
:
$('div.test').text()
使用 swift 中编写的以下回调 completionHandler
,执行结果产生:
func completionHandler(result: AnyObject?, error: NSError?) {
if let result = result as? String {
print(result)
}
}
输出:
result1result2result3
但我需要:
result1
result2
result3
现在我想为每个匹配的元素附加一个换行符。我已尝试执行以下操作但没有成功:
$('div.test').text().append('\n')
或
$('div.test').text().join('\n')
是否有一种简单的单行无嵌入式函数方法来将换行符附加到每个结果,以便可以从 swift 端进行解析?
经过大量 trial/error 后确定,这会产生所需的结果:
$('div.test').map(function() { return $(this).text().concat('\n'); }).get().toString()
您可以使用 reduce
函数将数组缩减为字符串等。
$('div.test').toArray().reduce(function(previous, current){
return previous+'\n'+current
})