私は、ユーザーが一度に1つのアイテムをリストとして作成できるようにするJS機能をアプリケーションに持っています。私は今、各アイテムにブートストラップスライダを与えようとしていますが、困難に遭遇しています。私はJSには新しいので、ここにはいくつかの悪い考えがあるかもしれません。現在のところ、forループの追加されたhtml内にある<p>
タグの外にあるものすべてを取り出すと、意図したとおりに動作しますが、その中にはすべてUncaught TypeError: Cannot read property 'getAttribute' of null
というコンソールエラーがレンダリングされます。JSループ内でブートストラップスライダを作成する
var proArray = [];
\t function addPro() {
\t \t proArray.push(document.getElementById("proInput").value);
\t \t document.getElementById("proForm").reset();
\t \t console.log(proArray);
\t \t for (var i = 0; i < proArray.length; i++) {
\t \t newItem = "<li><p>" + proArray[i] + "</p><input class='bootstrap-slider' type='text' id='proInput" + i + "' data-slider-id='proInput" + i + "' data-slider-min='0' data-slider-max='10' data-slider-value='5' /></li>";
\t \t }
\t var slider = new Slider('#proInput0', {
\t \t \t formatter: function(value) {
\t \t \t \t return 'Current value: ' + value;
\t \t \t }
\t \t });
\t document.getElementById("proList").innerHTML += newItem;
\t }
$('#proInput0').slider({
\t formatter: function(value) {
\t \t return 'Current value: ' + value;
\t }
});
<form id="proForm" onkeypress="return event.keyCode != 13;">
\t \t \t <input class="form-control text-left pro-con-input" id="proInput" placeholder="Add New Benefit" />
\t \t <div onclick="addPro()" class="btn pro-con-btn">Add</div>
\t \t </form>
\t \t <h3 class="text-left">Benefits</h3>
\t \t <ul class="text-left" id="proList">
\t \t </ul>
私は間違って行くと/これを行うか、どのようにより良いよどこ誰もが把握助けることができますか?
あなたの例で、それはあなたが抱えている問題の良い例ではありませんので、ブートストラップが含まれていません。私にとってはうまく動いているだけで、ブートストラップスライダーエラーが出ています。 – Tricky12
@ Tricky12、スニペットを更新しました。私はそれがあなたが意味するものだと思う... – Liz