Javascript 如何获取第一个子元素,它们之间没有文本

Javascript 如何获取第一个子元素,它们之间没有文本,javascript,jquery,Javascript,Jquery,我正在使用一个名为的所见即所得编辑器。我发现有时它会自动添加一个额外的。我想知道如何使用jQuery删除冗余的 例如,在下面的代码块中,我想删除代码块A和代码块B中的第一个,并将其保留在代码块C中 代码块A 但是它也会删除代码块C中的,那么如何使用jQuery选择器来完成呢 虽然我们可以使用正则表达式来实现,但我想在jQuery中实现它。检查下面的代码片段这不是您问题的完整答案,而是实现目标的起点或逻辑 下面的代码只是p的第一个元素。现在执行逻辑以确定它是br标记还是字符串,然后删除br $

我正在使用一个名为的所见即所得编辑器。我发现有时它会自动添加一个额外的

。我想知道如何使用jQuery删除冗余的

例如,在下面的代码块中,我想删除代码块A和代码块B中的第一个

,并将其保留在代码块C中

代码块A

但是它也会删除代码块C中的

,那么如何使用jQuery选择器来完成呢


虽然我们可以使用正则表达式来实现,但我想在jQuery中实现它。

检查下面的代码片段这不是您问题的完整答案,而是实现目标的起点或逻辑

下面的代码只是p的第一个元素。现在执行逻辑以确定它是br标记还是字符串,然后删除br

$(文档).ready(函数(){
$(“p”)。每个功能(索引){
var elem=$(this.contents().eq(0.text();
控制台日志(elem);
//现在检查是否为br,然后删除br
});
});



下一个台湾
台中走向全球!


下一个台湾
台中走向全球!

新台北市
下一个台湾
台中走向全球!

您可以使用
过滤器检查上一个节点是否为空

//console.log($(($p>br:first child)))
$('p>br:first child')。筛选器(函数(){
返回此.previousSibling.wholeText.trim()=“”;
}).remove()



下一个台湾
台中走向全球!


下一个台湾
台中走向全球!

新台北市
下一个台湾
台中走向全球!

这将删除
p
中的所有空格,并且仅当
p
开头有空格时才删除
br

$("p").each(function(){
  var trimmedPText = $(this).html().trim();
  if(trimmedPText.indexOf("<br") == 0){
    $(this).children()[0].remove();
  }
});
$(“p”)。每个(函数(){
var trimmedPText=$(this.html().trim();

if(trimmedPText.indexOf(“您也可以这样做。在特殊字符之间换行文本并检查其是否为空

JS HTML

新台北市

下一个台湾
台中走向全球!

这里有一个

这应该会有帮助:

<p>
  <br> <!-- it's useless now,need to remove -->
  Taiwan next
  <br>
  Taichung goes global!
</p>
<div id='test'>
</div>

$(document).ready(function() {
var final = ''
    if ($("p").html().trim().indexOf("<br>") == 0) {
    final = $("p").html().replace('<br>','');
  } else {
    final = $("p").html();
  }
  console.log(final);
  $("#test").html(final);
});


下一个台湾
台中走向全球!

$(文档).ready(函数(){ var final='' if($((“p”).html().trim().indexOf(“
”)==0){ final=$(“p”).html().replace(“
”,”); }否则{ final=$(“p”).html(); } 控制台日志(最终); $(“#测试”).html(最终版); });
一种方法是在每个
p
.html()
内容中使用一些正则表达式并进行更新。@Fecosos是的,但我想知道我们是否可以使用
jQuery
来做这件事。我发现Sam的答案更简单,谢谢大家!
<p>
  New Taipei City
  <br> <!-- The content before it is not empty, so it's useful; can not be removed -->
  Taiwan next
  <br>
  Taichung goes global!
</p>
$("p > br:first-child")
$("p").each(function(){
  var trimmedPText = $(this).html().trim();
  if(trimmedPText.indexOf("<br") == 0){
    $(this).children()[0].remove();
  }
});
var original = $("p").html();
$("p").prepend(":");
$("p > br:first-child").before(";");
var str = $("p").html();
var Strin = str.substring(str.lastIndexOf(":")+1,str.lastIndexOf(";"));
$("p").html(original);
if(Strin.trim() == ""){
$("p > br:first-child").remove();
}
$("p").html();
<p>
  New Taipei City
  <br> 
  Taiwan next
  <br>
  Taichung goes global!
</p>
<p>
  <br> <!-- it's useless now,need to remove -->
  Taiwan next
  <br>
  Taichung goes global!
</p>
<div id='test'>
</div>

$(document).ready(function() {
var final = ''
    if ($("p").html().trim().indexOf("<br>") == 0) {
    final = $("p").html().replace('<br>','');
  } else {
    final = $("p").html();
  }
  console.log(final);
  $("#test").html(final);
});