【问题标题】:jQuery maxlength attribute problem with textareas带有textareas的jQuery maxlength属性问题
【发布时间】:2009-03-25 12:51:07
【问题描述】:

使用 jQuery 版本 1.2.3,我尝试在具有属性“maxlength”的 textarea 元素之后添加节点,但它不起作用:

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

这是 HTML 代码:

&lt;textarea maxlength="500"&gt;This is a test.&lt;/textarea&gt;
&lt;textarea maxlength="250"&gt;Yet another line.&lt;/textarea&gt;
&lt;textarea maxlength="125"&gt;Bar or foo, whatever.&lt;/textarea&gt;

奇怪的是,如果我将属性 maxlength 更改为例如rel 比它工作得还好!

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

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

【问题讨论】:

    标签: jquery attributes maxlength rel


    【解决方案1】:

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

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

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

    Here 你可以找到更多关于maxlength 属性的隐含值的信息。

    享受吧!

    【讨论】:

    • 根据那篇文章,这似乎已在 jQuery 1.6 中得到修复。
    【解决方案2】:

    在黑暗中拍摄:可能是因为 maxlength 不是 valid attribute for textareas

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

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

    【讨论】:

    • 在 1.2.6 中没有 @ 就无法工作,但这可能是因为下面解释的原因。
    • 顺便说一句,我在 Opera 中试过......也许这就是它对我有用的原因:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 2014-12-03
    相关资源
    最近更新 更多