4

使用 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用 eg更改属性,rel它就可以正常工作!

看看这个现实生活中的例子: http: //www.host2000.be/_temp/jquery_tests_counter.html

PS:我知道 jQuery 1.3 不再支持 [@attribute] 表示法,但这与问题无关。

4

2 回答 2

3

在黑暗中射击:可能是因为 maxlength 不是textareas 的有效属性

编辑:我刚刚用 jQuery 1.3 尝试了你的示例并删除了@,它完美地工作。

编辑#2:使用 jQuery 1.2.6 它也可以在没有@...的情况下工作...你试过删除它们吗?

于 2009-03-25T13:05:54.103 回答
3

使用您的 jQuery 版本,它只需要一点技巧即可。textarea 的隐含值对于不同的浏览器有不同的值。例如,Firefox 的隐含值为 -1。

因此,为了让您的脚本在 Firefox 上运行,您需要执行以下操作:

$("textarea[@maxlength!=-1]").after("<b>Aint working</b>");

在这里maxlength您可以找到有关属性的隐式值的更多信息。

享受!

于 2009-03-25T13:15:15.110 回答