刪除CSS選擇器并將其刪除';如有需要,請?zhí)峁┫嚓P屬性
刪除CSS選擇器并將其刪除';如有需要,請?zhí)峁┫嚓P屬性,,css,regex,,css-,,Css,Regex,,Css ,我正在嘗試刪除特定的CSS選擇器,如果屬性列表中沒有更多的選擇器,那么腳本將刪除它我能夠讓腳本的一部分正常工作:代碼如下:$$('')[0].('click', (){var css = .id('css').get('text');var = css.(/(\n|\r|\s\s)/g, "").(/(,\s*body\s*(?={)|,\s*body\s*(?=,)|body\
我正在嘗試刪除特定的CSS選擇器,如果屬性列表中沒有更多的選擇器,那么腳本將刪除它
我能夠讓腳本的一部分正常工作:
代碼如下:
$$('button')[0].addEvent('click', function(){
var css = document.id('css').get('text');

var newCss = css.replace(/(\n|\r|\s\s)/g, "")
.replace(/(,\s*body\s*(?={)|,\s*body\s*(?=,)|body\s*,|,\s*head\s*(?={)|,\s*head\s*(?=,)|head\s*,)/gi, "")
.replace(/(body\s*(?={)|head\s*(?={))/gi, "")
.replace(/(^\{[^}]*?\}|\}\s*\{[^}]*?\})/gim, "");
document.id('cleancss').set('text', newCss);
});
問題是,如果我刪除換行符js中屬性選擇器,我編寫的腳本將無法刪除與任何選擇器無關的屬性
如果我讓線斷開,它就會工作
此外js中屬性選擇器,我想知道,如果我的代碼是好的,從程序員是與正則表達式好
非常感謝您的幫助。
在上次替換中,您使用的是多行標志。如果你只有一行,在第一次更換后就這樣做了,那就不行了。因此,讓我們先保留換行符,然后在移除選擇器后移除它們
您還可以稍微簡化正則表達式。使用
x(?=a | b)
代替
x(?=a)| x(?=b)
。您也不需要惰性匹配
[^\}]*?
下面是一個工作示例。為清楚起見,我只刪除了
主體
選擇器
$$('button')[0]。添加事件('click',函數(shù)(){
var css=document.id('css').get('text');
var newCss=css
//將多個選項卡或空格替換為一個
.替換(/(|\t)+/g,“”)
//刪除行開頭的空格
.替換(/(^\s)/gm,“”)

//刪除選擇器列表中的正文
.replace(/(,\s*body\s*(?={|,)| body\s*,)/gi,”)
//取下尸體{
.replace(/(body\s*(?={))/gi,“”)
//刪除不帶選擇器的規(guī)則
.replace(/[\n\r]+\{[^\}]*\}/g,“”)
//刪除換行符
.替換(/[\n\r]+/g,”);
document.id('cleancss').set('text',newCss);
});

您可以通過刪除
{
或在
之后:
和
,
我添加了標簽
mootools
,就像你在使用它一樣。你能給出每個標簽的輸入和所需輸出的例子嗎?有換行符:沒有換行符:這是你的插件嗎?我想,自從你在forge上發(fā)布以來,你已經(jīng)解決了你的問題-只注意到它是r在我的插件之后:)實際上我還沒有解決這個問題。。。