繁体   English   中英

如何使用jQuery将'checked'属性添加到HTML字符串(带有嵌套标签),然后返回整个字符串?

[英]How to add 'checked' attribute to HTML string (with nested tags) with jQuery, returning the whole string afterwards?

我正在尝试将 'checked' 属性添加到包含多个 HTML 标签的 HTML 字符串中。

let someBtn = `<div class='btn'><input type='checkbox' id='${item.Id}' 
                            value='Some value' class='active-btn'> <label class='btn' 
                            for='${item.id}'></label></div>`;```

这样做:

var something = $($.parseHTML(someBtn)).find('input[type=checkbox]').attr('checked', 1).prop('outerHTML');

只返回标签,而不是整个更新的 HTML 字符串。 此外,该 input 标签会被checked="checked"属性而不是仅仅checked 这是为什么? 我不能使用attr('checked', true) - 没有这种参数的方法。

有人可以帮我解决这个问题 - 用正确的检查属性返回整个 HTML 字符串吗?

没用的做$($.parseHTML('html_string')) ,可以直接使用$('html_string')

您还需要将更新复选框属性的事实和获取 HTML 的事实分开。

 const someBtn = `<div class='btn'><input type='checkbox' id='myId' value='Some value' class='active-btn'> <label class='btn' for='myId'></label></div>`; let html = $(someBtn); html.find('input').attr('checked', 1); html = html.prop('outerHTML'); // or html[0].outerHTML console.log(html);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM