这是小提琴
https://jsfiddle.net/vdpr6gsu/1/
我想将三个部分的字符串放在三个不同的标签中
jquery的
var part = "AAAAA\r\n\r\nBBBBB\r\n\r\nCCCCC\r\n\r\n";
var part1 = part.substring(0, part.indexOf("\r\n\r\n"));
var part2 = part.substring(part.indexOf(part1 + '\r\n\r\n'), part.indexOf("\r\n\r\n"));
var part3 = part.substring(0, part.indexOf("\r\n\r\n") + 2);
$('#part1').text(part1);
HTML
allparts
<label id=part1/>
<label id=part2/>
<label id=part2/>
无法展示它们。 怎么做 。字符串中的三个部分是动态的,它们的长度总是不一样。唯一的问题是他们将\ r \ n \ r \ n作为分隔符
答案 0 :(得分:0)
使用jQuery时,不要忘记JS的基础知识。
var part1 = 'op first string';
var part2 = 'and another string';
var joinedString = part1 + part2;
// and now it is ready to use as one string even in jQuery
$('#part1').text(joinedString);
答案 1 :(得分:0)
您可以使用拆分:
var parts = part.split("\r\n").filter(s=>s!=="")
然后使用你想要的任何部分:
var p1 = parts[0];
var p2 = parts[1];
...
答案 2 :(得分:0)
标签不是自我关闭标记,您需要将其更改为<label id=part1></label>
Self Closing标签拒绝使用jQuery&#39;
.text()
和.html()
。
是的,你可以像Soshin提到的那样使用split方法。 小提琴:https://jsfiddle.net/vdpr6gsu/7/
$(document).ready(function() {
var part = "AAAAA\r\n\r\nBBBBB\r\n\r\nCCCCC\r\n\r\n";
var parts = part.split("\r\n").filter(s=>s!=="")
$('#part1').text(parts[0]);
$('#part2').text(parts[1]);
$('#part3').text(parts[2]);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
allparts
<br>
<label id=part1></label>
<br>
<label id=part2></label>
<br>
<label id=part3></label>
&#13;
答案 3 :(得分:0)
你好Ids应该用引号括起来,应该是唯一的
<label id="part1"/>
<label id="part2"/>
<label id="part3"/>
<label id="part4"/>
这是一个有效的例子
https://jsfiddle.net/vdpr6gsu/9/
const str = 'AAAAA\r\n\r\nBBBBB\r\n\r\nCCCCC\r\n\r\n';
const parts = str.split('\r\n\r\n')
$(".part").each(function (index) {
$(this).text(parts[index])
})
答案 4 :(得分:0)
将字符串拆分为数组,删除所有空值,然后迭代该数组并使用索引来匹配元素
var part = "AAAAA\r\n\r\nBBBBB\r\n\r\nCCCCC\r\n\r\n",
$partEls = $('.part');
part.split('\n')
.filter(str =>str.trim())
.forEach((txt,i) => $partEls.eq(i).text(txt.trim()) )
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="part" id="part1"></div>
<div class="part" id="part2"></div>
<div class="part" id="part3"></div>
<div class="part" id="part4"></div>
答案 5 :(得分:0)
HTML
<label id="part1"></label>
<label id="part2"></label>
<label id="part3"></label>
的Javascript
var str = "AAAAA\r\n\r\nBBBBB\r\n\r\nCCCCC\r\n\r\n";
var parts = str.split("\r\n\r\n");
var max_part = 3; //Number of parts you want to show
for(var index=0; index <= max_part; index++){
$('#part' + (index+1)).text(parts[index]);
}