我如何通过 id 找到复选框并使用 JQuery 在字符串上应用属性
How I find the checkbox by id and apply attribute on string using JQuery?
我有以下 html 字符串contentString
:
var content =
'<div id="content">' +
'<div>' +
'<input name="tBox" id="select" type="checkbox" value="" '+
'onclick="changeView()"> Select for operation' +
'<p style="text-align:right"><a href="#">View details</a></p>' +
'</div>' +
'</div>';
在这里,我如何找到按 id select
复选框并添加在函数changeView()
选中的属性?
function changeView(m) {
//find the select id from content string
var checkbox = content.find($('#select'+m));
// Apply the checked property on checkbox.
checkbox.attr("checked","checked");
}
提前谢谢。
如果你先把它转换成一个JQuery对象,那么你可以这样做:
var contentObj = $(content);
var checkbox = contentObj.find("#select");
checkbox.attr("checked", true);
然后,如果您需要它返回 HTML 字符串:
content = contentObj[0].outerHTML;
注: 如果outerHTML
未按预期工作,则可以使用以下 JQuery 作为替代方法:
content = contentObj.clone().wrap('<div>').parent().html();
如果m
是您想要查找的id
(例如"选择"(,请使用以下命令:
var checkbox = contentObj.find("#" + m);
现场示例:这是一个工作示例
以下是便于参考的完整函数:
function changeView(m) {
var contentObj = $(content);
var checkbox = contentObj.find("#" + m);
checkbox.attr("checked", true);
content = contentObj[0].outerHTML;
}
您需要先将字符串包装在 jQuery 调用中,将其编译为 DOM 对象。然后,您可以使用查找方法。
所以:
var dom = $(content),
select = dom.find('#select');
在任何情况下,都不需要添加"选中"属性,因为当您单击复选框时,它将自动变为选中状态。
但是,如果您仍希望以编程方式检查它:
select.on('click', function () {
this.attr('checked', 'checked');
});
就像这样
function changeView(m) {
//find the select id from content string
var checkbox = content.find('#select');
// Apply the checked property on checkbox.
checkbox.attr("checked","checked");
}
如果要传递 ID,则
function changeView(m) {
//find the select id from content string
var checkbox = content.find("#" + m);
// Apply the checked property on checkbox.
checkbox.attr("checked","checked");
}
由于您使用的是 onclick 处理程序,因此您实际上不需要执行任何操作:
在 HTML 中 : onclick="changeView(this);"
function changeView(box) {
if(box.checked) { stuff; }
// or get jquery ref to that box :
$(box).prop("checked", true);
}
相关文章:
- jQuery字符串使用split()方法在空格后拆分字符串
- jquery字符串变量上的每个函数
- 如何用javascript替换Jquery字符串上的新参数
- jQuery 字符串转义 onclick='deleteRow(item“+count+”)' 如何引用项目和计数
- 使jQuery字符串加载gettext
- 通过AJAX发送jquery字符串,并使用PHP将其保存到html文件中
- JS/Jquery:字符串到单词的文本分割脚本使用字典和最长匹配
- jQuery |字符串替换不起作用
- Jquery 字符串替换,只替换数组的开头
- 以下jQuery字符串连接代码有什么问题
- 未捕获的语法错误:jQuery 字符串中意外的标记 ILLEGAL
- 内联 jquery 字符串 - 为某些单词添加粗体字体
- jquery字符串到数字回到字符串
- jQuery 字符串解析日志 a 404
- JQuery 字符串“随机发生器”聚类字符
- Jquery 字符串连接
- jQuery字符串比较
- 是否可以在一个jquery字符串中使用两种颜色的字体
- Jquery字符串与正则表达式匹配不起作用
- jQuery字符串替换匹配的正则表达式