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);
});