2017-09-04 136 views
-10

想要编写将字符串分成两半的代码。例如,如果输入的名称是“Trishy”,则前6个字母,前3个字母进入第二个li<ul class="hardcover_front">,后面的3个字母进入<ul class="hardcover_back">的第一个li将字符串分成2个半角

请注意,我需要这个应用多个不同字符长度的名称。

<div id="book1" class="book"> 
     <ul class="hardcover_front"> 
      <li></li> 
      <li>Tri</li> 
     </ul> 
     <ul class="hardcover_back"> 
      <li>shy</li> 
      <li></li> 
     </ul> 
     <ul class="book_spine"> 
     </ul> 
</div> 
+1

你尝试过这么远吗? – Thijs

+2

使用[子字符串](https://www.w3schools.com/jsref/jsref_substring.asp) – adiga

+0

@adiga你将如何分成两半? – evilgenious448

回答

0
var s = "Trishy"; 

var half = Math.round(s.length/2); 
var first = s.substr(0, half); 
var last = s.substr(half + 1, s.length); 
$('#book1 ul.hardcover_front').find('li:nth-child(2)').html(first); 
$('#book1 ul.hardcover_back').find('li:nth-child(1)').html(last); 

这应该做的伎俩。

+1

这是正确的,除了'(半+ 1,'应该是'(半,'' – evilgenious448

4

下面是一些让你走的步骤。使用Google了解您不了解的部分。一旦你有一个半工作解决方案只是更新与你的JS问题,看看会发生什么...

  • 获取字符串的长度;
  • 确定中间,考虑到中间的7个字符是3.5,所以你将不得不使用数学来圆整结果;
  • 使用substring来获取您需要的字符;
  • 使用document.querySelector或类似的方法来检索您从DOM
  • 设置您通过textContentinnerHTML检索的元素的文本所需要的元素。
0

你可以得到字符串的两半像这样,并利用它们无论你想

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<p>Click the button to extract characters from the string.</p> 
 

 
<button onclick="myFunction()">Try it</button> 
 

 
<p id="demo"></p> 
 

 
<script> 
 
function myFunction() { 
 
    var str = "Helloworld!"; 
 
    var length = str.length; 
 
    
 
    if(length%2 == 0){ 
 
    res = str.substring(0, length/2); 
 
    \t res1 = str.substring(length/2, length); 
 
    
 
    } 
 
    else{ 
 
    res = str.substring(0, (length/2) + 1); 
 
    \t res1 = str.substring((length/2) + 1, length); 
 
    
 
    } 
 
    alert("First Half- "+res+"\n"+"Second Half- "+res1); 
 
    console.log("First Half- "+res+"\n"+"Second Half- "+res1); 
 
} 
 
</script> 
 

 
</body> 
 
</html>