可以将此JavaScript代码优雅地编写吗?

时间:2019-12-03 13:38:26

标签: html slice innerhtml getelementbyid id

有人是我的新手,可以帮助我优雅地编写此代码。我将其添加到wordpress中,所以我已经尝试过jquery了,由于某种原因它不起作用,所以我尝试了这种方法,该方法是有效的,但是我不喜欢它的编写方式。

如果有人可以帮助我以更好的方式写作,那就太好了。谢谢!

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 个答案:

答案 0 :(得分:4)

我只会遍历摘录,然后您就不会仅对3个摘录进行硬编码:

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);
}

答案 1 :(得分:0)

可能如下所示:

SomeScreen:
    # ...
    SomeWidget:
        id: some_widget
        size_hint: (0.2, 0.2)
        pos_hint: {"x": 0.4, "y": 0.2}
    # ...

答案 2 :(得分:0)

主题上的一个小变化-尚未经过测试,但看起来还可以。

let insights=document.getElementById( 'tt-insights-home' )
Array.from( insights.querySelectorAll('excerpt') ).foreach( node =>{
    node.textContent=node.textContent.slice(0,-17)
})