Pereiti prie turinio

Javascript .wrap f-ja


Rekomenduojami pranešimai

Sveiki, noriu kiekvienam <li> elementui pridėti tam tikrą html kodą, iš to ką dabar turiu viskas būtų gerai, bet elementas atsiduria nevisai toje vietoje kurioje turėtų.

 

PHP/HTML kodas:

<div id="bx-pager">
<ul>
<?php $slider_title = new WP_Query('post_type=slaider&posts_per_page=5'); 
while($slider_title->have_posts()) : $slider_title->the_post(); ?>
<li><?php the_title(); ?><span></span></li>
<?php endwhile; ?>
<?php wp_reset_postdata(); // reset the query ?>
</ul>
</div>

 

JS kodas:

nr = 0;
$("#bx-pager li").each(function() {
$(this).wrap('<a data-slide-index="' + nr + '" href="">');
nr++;
});

 

Dabar gaunu tokį rezultatą:

<ul>
<a class="active" href="" data-slide-index="0">
<li>Pavadinimas<span></span></li>
</a>
<a href="" data-slide-index="1">
<li>Pavadinimas<span></span></li>
</a>
<a href="" data-slide-index="2">
<li>Pavadinimas<span></span></li>
</a>
<a href="" data-slide-index="3">
<li>Pavadinimas<span></span></li>
</a>
</ul>

 

O turėtų būti:

<ul>
<li>
<a class="active" href="" data-slide-index="0">
Pavadinimas<span></span></a>
</li>
<li>
<a href="" data-slide-index="1">
Pavadinimas<span></span></a>
</li>
<li>
<a href="" data-slide-index="2">
Pavadinimas<span></span></a>
</li>
<li>
<a href="" data-slide-index="3">
Pavadinimas<span></span></a>
</li>
</ul>

 

Gal kas kokių įdėjų turi? :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

$("#bx-pager li").each(function(nr) {
$(this).prepend('<a data-slide-index="' + nr + '" href="">');
});

 

problem?

 

Dabar:

 

<li>
<a href="" data-slide-index="0"></a>
Pavadinimas
<span></span>
</li>

 

Turėtų būt:

 

<li>
<a href="" data-slide-index="0"></a>
<span>Pavadinimas</span>
</li>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

ai, nu tai tu klaidingai parašei pirmą pranešimą... ir kam tu nededi to "pavadinimas" iškart į span'ą? o.O įdedi į jį ir tada rašai:

 

jQuery("selector").find('li').each(function(count){
var content = jQuery(this).text(); // berods taip išgauni turinį
jQuery(this).html('<a data-slide-index="' + count + '" href="">'+ content + '</a>);
});

 

done..

Nuoroda į pranešimą
Dalintis kituose puslapiuose

ai, nu tai tu klaidingai parašei pirmą pranešimą... ir kam tu nededi to "pavadinimas" iškart į span'ą? o.O įdedi į jį ir tada rašai:

 

jQuery("selector").find('li').each(function(count){
var content = jQuery(this).text(); // berods taip išgauni turinį
jQuery(this).html('<a data-slide-index="' + count + '" href="">'+ content + '</a>);
});

 

done..

 

Turbūt čia karštis per galvą duoda :D Pirmas pranešimas teisingas, čia kur rašiau, kad <span>Pavadinimas</span> - tai neteisingai parašiau, turi būt Pavadinimas<span></span>

 

Dabar

nr = 0;
$("#bx-pager li").each(function() {
$(this).prepend('<a data-slide-index="' + nr + '" href=""><span></span></a>');
nr++;
});

 

Išveda:

<ul>
<li><a href="" data-slide-index="1"><span></span></a>Pavadinimas</li>
</ul>

 

Turėtų būt:

<ul>
<li><a href="" data-slide-index="1">Pavadinimas<span></span></a></li>
</ul>

 

Tą <?php the_title(); ?> kažkaip reiktų įdėti į javascript kodą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

man išvis keista, kaip tu čia darai. kam tą išvis jquery naudoti? gi tu gali viską sukelti taip ar taip iškarto į dom'ą kai suki ciklą, taip tik be reikalo apkrauni puslapį :)

 

Tiesa. Be vargo galima WP loop'e viską įgyvendinti. Būtų gerai sužinoti kur nauda tai darant su JS.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

 

Dėkui, super tai ko reikėjo. :)

 

Tiesa. Be vargo galima WP loop'e viską įgyvendinti. Būtų gerai sužinoti kur nauda tai darant su JS.

 

Pasirinkau daryti su JS, kadangi kiekvienam <a> elementui reikia skaičiuoti data-slide-index numerį. Visada yra geresnių būdų, tiesiog šitas pirmas šovė į galvą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...