如何在jquery

时间:2017-05-13 13:15:39

标签: javascript jquery html

这是小提琴

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作为分隔符

6 个答案:

答案 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);

更新了https://jsfiddle.net/vdpr6gsu/5/

答案 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/

&#13;
&#13;
$(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;
&#13;
&#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]);
}