Rumah  >  Soal Jawab  >  teks badan

Tajuk ditulis semula kepada: "Tapis teg skrip ke dalam tatasusunan"

Saya ada contoh markup:

<p><span style="color: blue;">现在是这个</span></p>
<p><br></p>
<p>主要配置值是这个</p>
<p><br></p>
<p>!</p>
<p>启用</p>
<p>配置终端</p>
<p>服务器名称 <span style="color: red;">服务器名称</span></p>
<p>启用密码 <span style="color: red;">服务器密码</span></p>
<p>禁用域名查找</p>
<p>IP域名 <span style="color: red;">地区</span>.google.com</p>
<p>!</p>
<p><br></p>

Saya ingin menulis kod JavaScript yang menapis semua data tag rentang ke dalam dua tatasusunan berbeza. Satu digunakan apabila warna merah dan satu lagi digunakan apabila warna biru. Tetapi saya tidak boleh melakukannya, bolehkah seseorang membantu saya? Saya cuba menulis kod JS tetapi penyelesaian saya gagal.

P粉592085423P粉592085423375 hari yang lalu420

membalas semua(1)saya akan balas

  • P粉794177659

    P粉7941776592023-09-13 11:08:45

    Anda hanya boleh menggunakan ungkapan biasa dan match() untuk mendapatkan elemen

    const html = `<p><span style="color: blue;">是这个了</span></p>
    <p><br></p>
    <p>主要配置值是这个</p>
    <p><br></p>
    <p>!</p>
    <p>启用</p>
    <p>配置终端</p>
    <p>服务器名称<span style="color: red;">服务器名称</span></p>
    <p>启用密码<span style="color: red;">服务器密码</span></p>
    <p>禁用IP域名解析</p>
    <p>IP域名<span style="color: red;">区域</span>.google.com</p>
    <p>!</p>
    <p><br></p>`
    
    const blueArray = html.match(/(?<=<span style="color: blue;">)(.*?)(?=<\/span>)/g)
    
    console.log(blueArray)
    
    const redArray = html.match(/(?<=<span style="color: red;">)(.*?)(?=<\/span>)/g)
    
    console.log(redArray)

    balas
    0
  • Batalbalas