textareas的jQuery maxlength属性问题

时间:2009-03-25 12:51:07

标签: jquery attributes maxlength rel

使用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]符号,但这与问题无关。

2 个答案:

答案 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属性隐含值的更多信息。

享受!