我正在为用户输入的选项添加一个选项:
function prependToSelect(userInput){
$('#x').prepend('<option>' + userInput + '</option>');
}
确保userInput中没有任何危险可以破坏javascript或html的最安全,最简单的方法是什么?如果解决方案/功能在不同的情况下可以重复使用也是好的。
答案 0 :(得分:3)
我的初步答案是创建一个options元素并设置innerText而不是innerHTML
但是因为你使用jQuery ......
$('#x').prepend($('<option>', {text: userInput}))
答案 1 :(得分:2)
不要将其添加为HTML。
document.querySelector("#x")
.appendChild(document.createElement("option"))
.textContent = userInput;
这会将其添加为.textContent
,因此不会解析HTML,因此没有危险。