代码之家  ›  专栏  ›  技术社区  ›  bart

jquery maxlength属性的文本区域问题

  •  4
  • bart  · 技术社区  · 15 年前

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

    $("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 回复  |  直到 15 年前
        1
  •  3
  •   Bogdan Constantinescu    15 年前

    对于您的jquery版本,它只使用一个小技巧。文本区域的隐式值对于不同的浏览器具有不同的值。例如,firefox的隐式值为-1。

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

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

    Here 您可以找到有关 maxlength 属性。

    享受!

        2
  •  3
  •   Seb    15 年前

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

    编辑:我刚刚用jquery 1.3尝试过您的示例,并删除了@,它工作得非常完美。

    编辑2:使用jquery 1.2.6也可以不使用@…你试过移除它们吗?