Javascript jQuery使用此语法或最接近的语法
我有一些带有标记和段落的HTML,我应该为包含单引号的段落指定类名<代码>“ 我试着用下面的方法Javascript jQuery使用此语法或最接近的语法,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一些带有标记和段落的HTML,我应该为包含单引号的段落指定类名“ 我试着用下面的方法 $('p').each(function() { if($("p:contains('“')").length) { $(this).replaceWith(function () { return "<div class='quotetext'>" + $(this).html() + "<
$('p').each(function() {
if($("p:contains('“')").length) {
$(this).replaceWith(function () {
return "<div class='quotetext'>" + $(this).html() + "</div>";
});
}
});
$('p')。每个(函数(){
if($((“p:contains(“)”))).length){
$(this).replaceWith(函数(){
返回“+$(this.html()+”;
});
}
});
但是这会覆盖所有的p标记。我还尝试使用了类似于$(this.nestest.replaceWith)(function(){
但是仍然没有运气。非常感谢您的帮助。您需要帮助
$('p:contains("“")').each(function () {
$(this).replaceWith(function () {
return "<div class='quotetext'>" + $(this).html() + "</div>";
});
});
$('p:contains(“”))。每个(函数(){
$(this).replaceWith(函数(){
返回“+$(this.html()+”;
});
});
演示:
如果至少有1个p
具有“
”内容,而不仅仅是当前循环的内容,则每个循环中的if
条件将被评估为true,因此将对页面中的每个p
元素执行replaceWith
相反,您只能迭代那些内容为
“
的p
元素,如上图所示。一些简单的jquery和JSFIDLE:
这将循环遍历段落标记,测试它们的内容是否有一个双引号(或多或少会失败),并将has_quote
类添加到任何匹配项中
$('p').each(function (i, el) {
var p = $(el);
if (/^[^"]*"[^"]*$/.test(p.text())) {
p.addClass('has_quote');
}
});
错误:未捕获的语法错误:意外标记非法