Archivlink: javarea.de Forum > JavaScript > CSS parsen
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > CSS parsen

Pages: [1]

geschrieben von Eppi am 09.02.2007 - 13:28
Hallo,

ich hoffe, ihr könnt mir bei einem RegExpr behilflich sein. Ich möchte in einer CSS-Regel gerne einen Wert ändern. Da ich mal diesen und mal jenen verändern möchte, habe ich alles in Variablen und kann daher keinen normalen RegExp über exec einsetzen. Als Beispiel:
HTML-Quelltext
1: 
2: 
var suchText = "ZuSuchenderText";
var neuerText = alterText.replace(/suchText/g, "NeuerText");


es wird nicht nach "ZuSuchenderText", sondern nach "suchText" gesucht.

HTML-Quelltext
1: 
2: 
3: 
4: 
var alterText = "display: none; width: 50px; height:50px;";
var rule = 'width';
var data = '100px';
var neuerTeyt = alterText.replace(RegExp(rule, "g"), rule+':'+data+';');


was muß ich ändern, damit er "width: 50px;" findet?

danke und gruß, paul

geschrieben von Eppi am 09.02.2007 - 15:54
hi,

versuch einfach mal folgendes:
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
this.css = function(file,selector,key,value) {
		var ss = document.styleSheets[file];
		var rules = (ss.cssRules) ? ss.cssRules : ss.rules;
		for(i=0;i<rules.length;i++) {
			if(rules[i].selectorText==selector) {
				rules[i].style.cssText = rules[i].style.cssText.replace(RegExp('('+key+'\\s*\:\\s*[^;]*)', 'gi'), '');
				if (value != '') rules[i].style.cssText = key+':'+value+';'+rules[i].style.cssText;
				return;
			}
		}
	}


gruß, paul

geschrieben von Eppi am 09.02.2007 - 15:54
ah cool - danke!

geschrieben von René am 10.02.2007 - 09:42
Hallo Eppi,

alles ok .


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.