我使用jQuery将html附加到div上,其中rowStringinputString都是先前定义的:

$("#filterContainer").append(
            rowString +
            `<label class='filterLabel' for=${filter}>${filter}</label>` +
            "<i class='fas fa-minus-circle removeFilter float-right'></i>" +
            inputString +
            "</div>"
        );


rowString看起来像这样:

let rowString = "<input id='autocomplete' type='search' class='form-control' name='filters[location]' >"


我正在尝试为此注入价值。我尝试过rowString.val('myvalue'),但Uncaught TypeError: string.val is not a function失败。

如何在字符串中添加value之类的html属性?

最佳答案

$(rowString).attr('value', 'myvalue').prop('outerHTML')


您可以解析它,设置值,然后获取outerHTML以获取HTML。



let rowString = "<input id='autocomplete' type='search' class='form-control' name='filters[location]' >";

console.log(
  $(rowString).attr('value', 'myvalue').prop('outerHTML')
);

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

10-02 15:53