-
1. Data: 2013-10-07 15:19:21
Temat: JS- Jak dobrać się do atrybutu style?
Od: Marek <p...@s...com>
Czy jest możliwość modyfikowania atrybutu inline'owego style poprzez
podanie tekstu? Mam na myśli coś takiego:
var dodatkowyCSS="color:red; font-weight: 400";
element.style+=dodatkowyCSS;
Modyfikowanie poprzez element.style.styl=wartość jest dość kłopotliwe
gdyż musiałbym w dość skomplikowany sposób przetwarzać zmienną dodatkowyCSS.
--
Pozdrawiam
Marek
-
2. Data: 2013-10-07 21:13:11
Temat: Re: JS- Jak dobrać się do atrybutu style?
Od: Wojtek Gapiński <w...@w...I.TO.TEZ.pl>
Dnia 07-10-2013 15:19 Marek napisał:
> Czy jest możliwość modyfikowania atrybutu inline'owego style poprzez
> podanie tekstu? Mam na myśli coś takiego:
>
> var dodatkowyCSS="color:red; font-weight: 400";
>
> element.style+=dodatkowyCSS;
>
Dodać klasę, zdefiniowaną wg potrzeb?
--
Wojtek Gapiński
http://jwmprojekt.pl
-
3. Data: 2013-10-07 23:31:50
Temat: Re: JS- Jak dobrać się do atrybutu style?
Od: Marek <p...@s...com>
W dniu 2013-10-07 21:13, Wojtek Gapiński pisze:
>
> Dodać klasę, zdefiniowaną wg potrzeb?
>
Hmmm... w zasadzie jest to jakieś rozwiązanie. Czyli tworzymy
dynamicznie element <style>, tworzymy w nim klasę wygenerowaną również
dynamicznie (bo z parametrami ustalanymi w locie) a następnie używamy
jej. To miałeś na myśli?
--
Pozdrawiam
Marek
-
4. Data: 2013-10-08 10:44:12
Temat: Re: JS- Jak dobrać się do atrybutu style?
Od: Wojtek <w...@w...I.TO.pl>
W dniu 2013-10-07 23:31, Marek pisze:
> Hmmm... w zasadzie jest to jakieś rozwiązanie. Czyli tworzymy
> dynamicznie element <style>, tworzymy w nim klasę wygenerowaną również
> dynamicznie (bo z parametrami ustalanymi w locie) a następnie używamy
> jej. To miałeś na myśli?
>
Niezupełnie. Jeśli jesteś w stanie określić styl, który chcesz ustawić,
to określ go w dodatkowej klasie i dołączaj ją w momencie, gdy
potrzebujesz, do istniejącego elementu.
--
Wojtek Gapiński
http://jwmprojekt.pl
-
5. Data: 2013-10-08 19:53:59
Temat: Re: JS- Jak dobrać się do atrybutu style?
Od: Marek <p...@s...com>
W dniu 2013-10-08 10:44, Wojtek pisze:
> Niezupełnie. Jeśli jesteś w stanie określić styl, który chcesz ustawić,
> to określ go w dodatkowej klasie i dołączaj ją w momencie, gdy
> potrzebujesz, do istniejącego elementu.
Sęk w tym, że nie wiem jaki styl to będzie. To zależy od akcji użytkownika.
--
Pozdrawiam
Marek
-
6. Data: 2013-10-09 04:52:25
Temat: Re: JS- Jak dobrać się do atrybutu style?
Od: u...@d...invalid
W dniu 2013-10-07 15:19, Marek pisze:
> Czy jest możliwość modyfikowania atrybutu inline'owego style poprzez
> podanie tekstu? Mam na myśli coś takiego:
>
> var dodatkowyCSS="color:red; font-weight: 400";
>
> element.style+=dodatkowyCSS;
>
> Modyfikowanie poprzez element.style.styl=wartość jest dość kłopotliwe
> gdyż musiałbym w dość skomplikowany sposób przetwarzać zmienną
> dodatkowyCSS.
>
Użyj jQuery:
$('#elementId').css("color", "red");
i albo doda albo zamieni, a jak chcesz usunąć to:
$('#elementId').css("color", "");
-
7. Data: 2013-10-09 09:39:03
Temat: Re: JS- Jak dobrać się do atrybutu style?
Od: Marek <p...@s...com>
W dniu 2013-10-09 04:52, u...@d...invalid pisze:
>
> Użyj jQuery:
> $('#elementId').css("color", "red");
> i albo doda albo zamieni, a jak chcesz usunąć to:
> $('#elementId').css("color", "");
To i bez tego prościej:
element.style.color="red";
element.style.color=null;
Niemniej jednak trzeba do tego aby przekształcić string ze stylami na
style to niezłą procedurę trzeba napisać. Oto przykład realizacji
pozornie prostego zadania:
function setStyleByID(code, idsArr)
{
var i, obj, styles, tmp;
obj=code.match(/[\w\-]+\s*:\s*[^;]+/g);
styles=new Object();
for(i=0; i<obj.length; i++)
{
tmp=obj[i].match(/([\w\-]+)\s*:\s*([^;]+)/);
tmp[1]=tmp[1].replace(/(-)(\w)/,function($0,$1,$2) {return
$2.toUpperCase()});
styles[tmp[1]]=tmp[2];
}
for(i=0;i<idsArr.length; i++)
{
obj=document.getElementById(idsArr[i]);
for (tmp in styles) obj.style[tmp]=styles[tmp];
}
}
code to stringiem wyrażone style a idsArr to tablica ID elementów,
którym te style trzeba przypisać. Tymczasem mogłoby to wyglądać prościej:
element.inlineStyle=code;
Prawda?
--
Pozdrawiam
Marek
-
8. Data: 2013-10-09 09:59:48
Temat: Re: JS- Jak dobrać się do atrybutu style?
Od: n...@t...net.pl
W dniu poniedziałek, 7 października 2013 15:19:21 UTC+2 użytkownik Marek napisał:
> Czy jest możliwość modyfikowania atrybutu inline'owego style poprzez
>
> podanie tekstu? Mam na myśli coś takiego:
>
>
>
> var dodatkowyCSS="color:red; font-weight: 400";
>
>
>
> element.style+=dodatkowyCSS;
>
>
>
> Modyfikowanie poprzez element.style.styl=wartość jest dość kłopotliwe
>
> gdyż musiałbym w dość skomplikowany sposób przetwarzać zmienną dodatkowyCSS.
>
>
>
> --
>
> Pozdrawiam
>
> Marek
a tak pasuje:
mstyle="color:orange";
document.write('<div style="'+mstyle+'">div2...</div>');
Andrzej.
-
9. Data: 2013-10-09 11:51:14
Temat: Re: JS- Jak dobrać się do atrybutu style?
Od: Marek <p...@s...com>
W dniu 2013-10-09 09:59, n...@t...net.pl pisze:
> mstyle="color:orange";
> document.write('<div style="'+mstyle+'">div2...</div>');
W zasadzie to też jakieś wyjście tak jak budowanie w locie elementu
style z jakąś unikalną klasą a potem dodawanie tej klasy do className
elementu.
Kiedyś było można zapisywać do atrybutu style elementu... Zupełnie nie
kumam komu to przeszkadzało. :-(
--
Pozdrawiam
Marek
-
10. Data: 2013-10-09 18:13:30
Temat: Re: JS- Jak dobrać się do atrybutu style?
Od: u...@d...invalid
W dniu 2013-10-09 09:39, Marek pisze:
> W dniu 2013-10-09 04:52, u...@d...invalid pisze:
<ciach>
> code to stringiem wyrażone style a idsArr to tablica ID elementów,
> którym te style trzeba przypisać. Tymczasem mogłoby to wyglądać prościej:
>
> element.inlineStyle=code;
>
> Prawda?
A to nie wystarczy:
$('#id').attr('style', code)
lub
$('#id').attr('style', code + $('#id').attr('style'))?