我正在尝试使用 jQuery 更改文本框内容的 DIV 的 NAME 属性。
这是我的小提琴:http: //jsfiddle.net/e6kCH/
我究竟做错了什么?
代替:
$(#divId).attr("name")=content;
采用:
$("#divId").attr("name", content);
attr
是一个function
不是一个property
。
最大的问题是逻辑问题。
content = document.getElementById("theid").value
这将获取输入的当前值。问题是,当您更改输入值时,它不会更新。为了解决这个问题,将该行移动到单击事件处理程序中。
一旦修复了各种其他 javascript 错误(单击 JSLint 按钮!!!),它将起作用。http://jsfiddle.net/e6kCH/4/
保持相同的代码,只为此更改 JS:
$('#buttonId').click(function() {
$('#divId').attr('name', $('#textId').val());
});
请记住,它只会更改 div 的名称,您需要类似 Google Chrome 的开发人员工具才能看到它的更改。
使用.attr()设置属性值的方法是:
.attr(attributeName, value)
描述:为匹配的元素集设置一个或多个属性。attributeName:要设置的属性的名称。
value:要为属性设置的值。
$('#divId').attr("name", content);
注意:不要忘记在 jQuery 函数中用引号(或双引号)包围您的选择器$()
http://jsfiddle.net/e6kCH/10/那应该可以得到你想要的。