4 回答

TA貢獻1779條經驗 獲得超6個贊
您可以簡單地將 .textContent與 JavaScript 一起使用來獲取最新text
信息,一旦您擁有了所有需要使用 split() 函數的數據.split(',')
,就可以逐行從逗號中獲取文本。
除了在使用 split 函數之前,我們還可以使用它trim()
來刪除多余的空格。,
Split
將生成每一行的數組。您可以使用forEach()遍歷它以生成列表項。
在您的forEach
循環中,您將生成一個列表 ul
li
并將數據返回到您的原始 div .dvs-options
innerHTML并通過querySelector方法選擇元素
運行下面的片段。
//Get the current data
let getText = document.querySelector('.dvs-options').textContent.trim().split(',')
//Store data as list
let str = '<ul>'
//Use foreach to get all the text
getText.forEach(function(data) {
str += '<li>' + data + '</li>';
});
str += '</ul>';
//Replace the innerHTML
document.querySelector(".dvs-options").innerHTML = str;
<div class="dvs-options">
Driver Airbag,Anti-Lock Brakes,Passenger Airbag,Alarm,Side AirbagCD Player,AM/FM Radio,AM/FM Stereo,DVD,CD Changer,Aftermarket Speaker,Hard Disc,Satellite RadioPower Windows,Rear Window Defroster,Tinted Glass,Rear Window WiperPower Door Locks,Alloy Wheels,Power
Mirrors,Sunroof,Third Row Seats,Power Slide DoorNo Accident history,Maintenance Records Available,One Owner,New Tires,Non-Smoker,Fully Loaded,Performance Tires,Turbo,Upgraded Sound System,Custom Wheels,Repainted CarLeather Seats,Power Seats,Child Seat,Bucket
Seat
</div>

TA貢獻1829條經驗 獲得超9個贊
好吧,如果您的客戶通過 API 提供數據,那將會更加容易和實用,但由于您需要的只是一個解決方案,所以試試這個。
let data = document.getElementsByClassName("dvs-options")[0].innerText;
data = data.split(",");
這將在 JS 對象中為每個車輛提供選項。您可以使用循環遍歷每個并將其列出。
編輯
const element = document.getElementsByClassName("dvs-options")[0];
let data = element.innerText;
data = data.split(",").join("\r\n");
element.innerText = data;
這是完整的代碼。它從 div 中檢索所有內容并按順序放回同一個 div。

TA貢獻1765條經驗 獲得超5個贊
您無法僅通過 CSS 實現此目的 - CSS 不允許您基于逗號換行,只能在空格處換行。
為了將 CSV 轉換為多行,我建議使用帶有 Regex 的簡單 JavaScript 以獲得更好的性能,例如:
var csv = document.getElementsByClassName("dvs-options")[0].innerHTML;
const regex = /\,/gm;
const subst = `</p><p>`;
const result = csv.replace(regex, subst);
document.getElementsByClassName("dvs-options")[0].innerHTML = '<p>'+result+'</p>';

TA貢獻1848條經驗 獲得超2個贊
無需創建列表,只需更改white-space行為并在修剪\n當前textContent.
//REM: Replace "," with Linebreaks "\n"
document.querySelectorAll('.dvs-options').forEach(function(item){
item.textContent = item.textContent.trim().split(',').join('\n')
})
.dvs-options{
white-space: pre
}
<div class="dvs-options">
Driver Airbag,Anti-Lock Brakes,Passenger Airbag,Alarm,Side AirbagCD Player,AM/FM Radio,AM/FM Stereo,DVD,CD Changer,Aftermarket Speaker,Hard Disc,Satellite RadioPower Windows,Rear Window Defroster,Tinted Glass,Rear Window WiperPower Door Locks,Alloy Wheels,Power Mirrors,Sunroof,Third Row Seats,Power Slide DoorNo Accident history,Maintenance Records Available,One Owner,New Tires,Non-Smoker,Fully Loaded,Performance Tires,Turbo,Upgraded Sound System,Custom Wheels,Repainted CarLeather Seats,Power Seats,Child Seat,Bucket Seat
</div>
添加回答
舉報