Quelqu'un peut-il m'aider à écrire ce code avec élégance car je suis novice en javascript. J'ajoute ceci à wordpress donc j'ai déjà essayé jquery et pour une raison quelconque cela ne fonctionne pas alors j'ai essayé cette approche qui fonctionne mais je n'aime pas la façon dont elle est écrite.
Si quelqu'un pouvait m'aider à mieux écrire, ce serait formidable. Merci!
var par01 = document.getElementById("tt-insights-home").getElementsByClassName("excerpt")[0].innerHTML; var par02 = document.getElementById("tt-insights-home").getElementsByClassName("excerpt")[1].innerHTML; var par03 = document.getElementById("tt-insights-home").getElementsByClassName("excerpt")[2].innerHTML; var slicedPar01 = par01.slice(0, -17); var slicedPar02 = par02.slice(0, -17); var slicedPar03 = par03.slice(0, -17); document.getElementById("tt-insights-home").getElementsByClassName("excerpt")[0].innerHTML = slicedPar01; document.getElementById("tt-insights-home").getElementsByClassName("excerpt")[1].innerHTML = slicedPar02; document.getElementById("tt-insights-home").getElementsByClassName("excerpt")[2].innerHTML = slicedPar03;
3 Réponses :
Cela pourrait être comme ci-dessous:
var excerptElement = document.getElementById("tt-insights-home").getElementsByClassName("excerpt"); excerptElement[0].innerHTML = excerptElement[0].innerHTML.slice(0, -17); excerptElement[1].innerHTML = excerptElement[1].innerHTML.slice(0, -17); excerptElement[2].innerHTML = excerptElement[2].innerHTML.slice(0, -17);
Je ferais juste une boucle sur les extraits, alors vous ne codez pas en dur pour seulement 3 extraits exactement:
var home = document.getElementById("tt-insights-home"); var excerpts = home.getElementsByClassName("excerpt"); for (i = 0; i < excerpts.length; i++) { excerpts[i].innerHTML = excerpts[i].innerHTML.slice(0, -17); }
Brillant! C'est exactement ce que je voulais. Merci!
Une petite variation sur un thème peut-être - pas testé mais semble correct.
let insights=document.getElementById( 'tt-insights-home' ) Array.from( insights.querySelectorAll('excerpt') ).foreach( node =>{ node.textContent=node.textContent.slice(0,-17) })
obtenir la référence à l'élément une fois, au lieu de plusieurs fois.