Menambahkan tag kelas ke elemen anak dengan menggunakan blockstyle untuk induk (Typo3 6.2.2)

apakah mungkin untuk memberitahu parser RTE untuk mengubah atribut kelas dari semua elemen anak langsung, ketika gaya blok yang ditentukan ditambahkan ke elemen induk?

Sunting 1

Kalau konten RTE-nya kira-kira seperti ini

<ul>
   <li>Item 1</li>
   <li>Item 2</li>
   <li>Item 3</li>
</ul>

dan saya menambahkan kelas khusus saya ke elemen ul melalui gaya blok yang ditentukan di TS.

<ul class="my-custom-class">
   <li>Item 1</li>
   <li>Item 2</li>
   <li>Item 3</li>
</ul>

RTE akan secara otomatis menambahkan subkelas khusus saya ke semua elemen li

<ul class="my-custom-class">
   <li class="my-custom-sub-class">Item 1</li>
   <li class="my-custom-sub-class">Item 2</li>
   <li class="my-custom-sub-class">Item 3</li>
</ul>

Sunting 2 - Solusi

Meskipun hal ini tidak dapat dilakukan dengan RTE, Anda masih dapat menggunakan JavaScript untuk mencapai hasil secara dinamis.

// jQuery -> https://jsfiddle.net/du6r7ow1/1/
$('ul.my-custom-class > li').addClass('my-custom-sub-class');

// MooTools -> https://jsfiddle.net/u53516cu/
$$('ul.my-custom-class > li').addClass('my-custom-sub-class');

person Inceddy    schedule 18.05.2015    source sumber
comment
kita berbicara tentang RTE di CMS (seperti tinyMCE di WordPress) bukan? jika demikian, itu penggunaan yang terlalu spesifik. lihat di bawah untuk menargetkan elemen tertentu dengan CSS.   -  person aequalsb    schedule 18.05.2015


Jawaban (1)


bisakah kamu menggunakan ini sebagai gantinya?

.parent > children HANYA akan menargetkan keturunan langsung (khususnya div id=1 dan id=2)

.parent > div {
    border:1px dashed red;
}

<div class="parent">
     <div id="1">this div will get targeted
        <div>this div won't get targeted</div>
        <p>jabberwocky</p>
    </div>
    <div id="2">this div will get targeted
        <ul>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>
</div>

akan menempatkan batas merah putus-putus di sekitar HANYA dua div bagian dalam.

dengan kata lain, daripada mencoba membuat editor RTE menetapkan kelas secara dinamis (membutuhkan pemrograman yang terlalu khusus untuk digunakan secara luas), Anda bisa menargetkan elemen secara lebih spesifik menggunakan CSS.

lihat: http://www.w3schools.com/cssref/css_selectors.asp

Anda dapat menggunakan jQuery dengan cara yang sama: jQuery('.parent > div').html() misalnya

EDIT setelah melihat hasil edit Anda pada postingan Anda

ul.my-custom-class {
    /* definitions for the ul */
}
ul.my-custom-class > li {
    /* definitions for only the directly descended lis */
}

<ul class="my-custom-class">
   <li>Item 1</li>
       <ul>
           <li>will NOT be affected</li>
           <li>will NOT be affected</li>
       </ul>
   <li>Item 2</li>
   <li>Item 3</li>
</ul>

secara pribadi, saya berusaha keras untuk tidak mengandalkan kemampuan menambahkan kelas ke elemen, dan sebaliknya mengandalkan kemampuan penargetan spesifik CSS modern

person aequalsb    schedule 18.05.2015
comment
Hanya menggunakan css ini akan menjadi cara termudah. Tapi saya pikir saya bisa menggunakan gaya blok RTE untuk mengimplementasikan Fitur Grup Daftar bootstrap. - person Inceddy; 18.05.2015
comment
benar, tetapi untuk secara otomatis menambahkan kelas ke semua turunan langsung akan memerlukan banyak pemrograman yang tidak digunakan oleh banyak orang yang saya bayangkan. itu juga meminta RTE untuk sedikit pembaca pikiran, atau setidaknya memerlukan antarmuka yang rumit untuk mengkonfigurasi RTE agar secara otomatis menetapkan kelas -- dan seberapa baik ia mengelolanya ketika banyak dari mereka tidak dapat menangani hal-hal yang lebih sederhana? dan bagaimana dengan menghapus kelas-kelas itu? sayangnya, menurutku apa yang kamu tanyakan hanyalah sedikit mimpi yang ditakdirkan menjadi mimpi buruk... - person aequalsb; 18.05.2015
comment
Nah, maka akan lebih baik untuk mendefinisikan dua gaya blok yang berbeda, satu untuk elemen ul- dan satu lagi untuk elemen li. - person Inceddy; 18.05.2015
comment
semua yang saya cari di Google untuk alamat Typo RTE menambahkan beberapa kelas ke elemen yang sama tetapi tidak secara otomatis menambahkan kelas ke elemen turunan. sekali lagi, saya lebih suka menggunakan CSS untuk mendapatkan apa yang saya butuhkan secara spesifik. itu membuat HTML yang dihasilkan lebih kecil dan memudahkan saya untuk membacanya juga. - person aequalsb; 18.05.2015