我正在尝试使用jquery-1.10.2构建网站,在此过程中,我希望将类似于
使用捕获组。
$('#divText').val($('#divText').val().replace(/(<\/?(?:style|link).*?>)/, "<!-- $1 -->"));
或者
$('#divText').val($('#divText').val().replace(/(<\/?(?:style|link)[^>]*>)/, "<!-- $1 -->"));
我不太喜欢使用正则表达式来修改HTML内容,因此
$(document).ready(function() {
$('#btnUpdate').click(function() {
var $tmp = $('<div />', {
html: $('#divText').val()
});
$tmp.find('link, style').replaceWith(function() {
return document.createComment(this.outerHTML);
});
$('#divText').val($tmp.html());
});
});
$(document).ready(function() {
$('#btnUpdate').click(function() {
var $tmp = $('<div />', {
html: $('#divText').val()
});
$tmp.find('link, style').replaceWith(function() {
return document.createComment(this.outerHTML);
});
$('#divText').val($tmp.html());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea id="divText" style="width: 400px; height: 300px;">
something
<link href="//abc.comd/ss.css" rel="stylesheet"/>
<style>
div: {color: red;}
</style>
<div>adf</div>
</textarea>
<br>
<button id="btnUpdate">Update</button>
为什么不尝试使用removeAttr
删除这些属性呢?
$(document).ready(function () {
$('#btnUpdate').click(function () {
$('#divText').val($('#divText').removeAttr("style");
});