使用jQuery版本1.2.3我试图在具有属性'maxlength'的textarea元素之后添加节点但是它不起作用:
$("textarea[@maxlength]").after("<b>Aint working</b>");
这是HTML代码:
<textarea maxlength="500">This is a test.</textarea>
<textarea maxlength="250">Yet another line.</textarea>
<textarea maxlength="125">Bar or foo, whatever.</textarea>
奇怪的是,如果我更改属性maxlength
,例如rel
比工作得好!
查看这个现实生活中的例子: http://www.host2000.be/_temp/jquery_tests_counter.html
PS:我知道jQuery 1.3中不再支持[@attribute]符号,但这与问题无关。
答案 0 :(得分:3)
在黑暗中拍摄:可能是因为maxlength不是valid attribute for textareas。
编辑:我刚刚用jQuery 1.3尝试了你的例子并删除了@,它运行得很完美。编辑#2:使用jQuery 1.2.6它也可以在没有@的情况下运行...你试过删除它们吗?
答案 1 :(得分:3)
使用您的jQuery版本,它只能用一点技巧。 textarea的隐含值对于不同的浏览器具有不同的值。例如,Firefox的隐含值为-1。
因此,为了使您的脚本能够在Firefox上运行,您需要执行以下操作:
$("textarea[@maxlength!=-1]").after("<b>Aint working</b>");
Here您可以找到有关maxlength
属性隐含值的更多信息。
享受!