在除第一个子节点之外的所有子节点的文本之间添加空格

时间:2017-06-11 13:53:03

标签: jquery text dynamic whitespace children

除了第一个孩子之外,我需要抓取所有子节点的文本。 但是,当我尝试这样做时,我无法在2个子节点的文本之间添加空格。

例如,child1:text 1的文本,child2的文本:text 2,child3的文本:text 3。

我想要的:文字2文字3

我得到的结果:text 2text 3

这是我的代码:



$(document).ready(function(){
  $('.container').click(function(){
  var myText = $(this).children(":not(.nograb)").text();
  console.log(myText);
  });			
});

.container{
  border: 1px solid black;
  padding: 10px;
  margin-top: 10px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="container">
  <p class="nograb">Don't grab this!</p>
  <p>My text1</p>
  <span>My text2</span>
</div>
<div class="container">
  <p class="nograb">Don't grab this!</p>
  <p>My text3</p>
  <span>My text4</span>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您可以填充数组.join(" ")而不是执行" "操作,只会在>关节之间插入"My text1 My text2" 导致此字符串:

$('.container').click(function() {

  var myText = $(this).children(":not(.nograb)").map(function() {
    return $(this).text();
  }).get().join(" ");
  
  console.log(myText);

});

&#13;
&#13;
.container {
  border: 1px solid black;
  padding: 10px;
  margin-top: 10px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="container">
  <p class="nograb">Don't grab this!</p>
  <p>My text1</p>
  <span>My text2</span>
</div>
<div class="container">
  <p class="nograb">Don't grab this!</p>
  <p>My text3</p>
  <span>My text4</span>
</div>
&#13;
numbers = [(1,2,3,4,5),(6,7,8,9,10),(11,12,13,14,15)]

for sublist in reversed(numbers):
    print list(reversed(sublist))
&#13;
&#13;
&#13;