我写了很多包含img
属性的title
代码。我希望在使用jQuery title
之后删除div
img
标记。 title
包含break / new行,因此当jQuery将title
附加到HTML时,该break / new行显示一个空格。
我尝试使用正则表达式的servel代码,但我仍然无法将break / new行替换为<br>
:
$.title.replace(/\r/, "<br />");
$.title.replace(/\n/, "<br />");
$.title.replace(/\r\n/, "<br />");
$.title.replace(/\\r\\n/, "<br />");
$.title.replace(/\\r/, "<br />");
$.title.replace(/\\n/, "<br />");
$.title.replace(" ", "<br />");
$.title.replace(" ", "<br />");
$.title.replace("
", "<br />");
的jsfiddle:
$.title = $(".abc").attr('title');
alert($.title);
//not working
$.title.replace(/\r\n/, "<br />");
alert($.title);
$(".abc").after("<div>" + $.title + "</div>");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img class="abc" title="abc
def" />
&#13;
答案 0 :(得分:1)
replace()方法在字符串中搜索指定的值或正则表达式,并返回一个替换指定值的新字符串。
因此您必须将此新字符串分配给$ .title
试试这样。
$.title = $(".abc").attr('title');
alert($.title);
//working
$.title = $.title.replace(/(\r\n|\n|\r)/gm,"<br />");
alert($.title);
$(".abc").after("<div>" + $.title + "</div>");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img class="abc" title="abc
def" />