答案是肯定的,先试试正则的效果。把所有图片宽度设成90%,最简单的方法是在img标签中加入style属性,然后在style中指定宽度。
在汝南等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站设计 网站设计制作按需开发网站,公司网站建设,企业网站建设,高端网站设计,成都营销网站建设,外贸网站制作,汝南网站建设费用合理。
用正则,第一步,先要匹配到所有img标签,由于img标签不一定有style属性,要先判断是否有style属性,接下来直接在style属性中加入width: 90%;?不,这样可能会覆盖掉原有的其他属性,那就直接追加,追加不会覆盖!还是不行,万一原来就有width呢。。。
还没开始写正则表达式,先想想过程,就已经很繁琐了,其实实现起来更加复杂。
幸好我们可以换个思路,借助于jQuery解决这个问题。
jQuery强大之处在于,它能直接将一个html字符串包装成dom元素,这个dom元素不存在于当前页面中,它是放在内存中的。
jquery中的字符串查找替换有2个类似的方法,但都是查找替换dom元素的方法,而不是查找替换纯文本的方法。
1、replaceWith(),将所有匹配的元素替换成指定的HTML或DOM元素。
示例:
把所有的段落标记替换成加粗的标记。
HTML 代码:
pHello/ppcruel/ppWorld/p
jQuery 代码:
$("p").replaceWith("bParagraph. /b");
结果:
bParagraph. /bbParagraph. /bbParagraph. /b
2、replaceAll(),用匹配的元素替换掉所有 selector匹配到的元素
示例:
把所有的段落标记替换成加粗标记
HTML 代码:
pHello/ppcruel/ppWorld/p
jQuery 代码:
$("bParagraph. /b").replaceAll("p");
结果:
bParagraph. /bbParagraph. /bbParagraph. /b
注意:
如果需要查找纯文本替换,可以直接使用js中的String.replace(regexp, replacement)
方法。
示例:
要确保单词“JavaScript'’中的大写字符是正确的,可用下列代码:
text.replace(/javascript/i, "JavaScript");
删除
删除操作非常简单,直接在结果集后链式调用remove()方法即可。
例如,要删除以下html脚本中所有的a元素,直接通过
复制代码
代码如下:
$('a'.remove();
就可以做到了。
复制代码
代码如下:
h3Anchors/h3
a
href="#"
class="remove"Anchor
Element/a
a
href="#"Anchor
Element/a
a
href="#"
class="remove"Anchor
Element/a
当然也可以通过向remove传参的形式来过滤选择结果,然后再执行remove操作。
复制代码
代码如下:
$('a').remove('.remove');
需要注意的是
remove操作并不会把符合条件的元素从结果集中删除,所以理论上可以继续操作被"删除"掉的元素
remove操作不但会“删除”元素与所有元素相关的数据也会被删除(event
handlers、internally
cached
data)
替换
如果想要把class为remove的li元素替换为liremoved/li,可以使用以下两种等价的方法
复制代码
代码如下:
$('li.remove').replaceWith('liremoved/li);
$('liremoved/li;).replaceAll('li.remove');
script type="text/javascript"
$('div').bind({
mouseover: function(){
if($(this).attr('def') != 1){
$('div').data('html', $(this).html());
$(this).html('span我是span标签/span');
}
$(this).attr('def', 1);
},
mouseout: function(){
if($(this).attr('def') == 1){
$(this).html($('div').data('html'));
$('div').data('html', '');
}
$(this).attr('def', 0);
}
});
/script