繁体   English   中英

属性以选择器[name ^ = value]开头

[英]Attribute Starts With Selector [name^=value]

我需要按名称匹配一些输入字段。 该名称由基本名称和方括号组成,因此PHP解释程序将其转换为数组。 根据jQuery API,我可以使用以下选择器:

":input[name^=foo\\[]"

(可以忽略右括号。)但是,它与任何元素都不匹配。 其他变化会触发一个异常,我无法正常捕获。 我想念什么?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript"><!--
jQuery(function($){
    // Expected result: 4
    var found = [];

    // 5
    found.push($(":input[name^=foo]").size());

    // uncaught exception: Syntax error, unrecognized expression: ]
    //found.push($(":input[name^=foo[]").size());

    // undefined
    try{
        found.push($(":input[name^=foo[]").size());
    }catch(e){
        found.push("Exception: " + e.description);
    }

    // uncaught exception: Syntax error, unrecognized expression: ]
    //found.push($(":input[name^=foo\[]").size());

    // undefined
    try{
        found.push($(":input[name^=foo\[]").size());
    }catch(e){
        found.push("Exception: " + e.description);
    }

    // 0
    found.push($(":input[name^=foo\\[]").size());

    alert("Items found:\n" + found.join("\n"));
});
//--></script>
</head>
<body>

<p><input type="text" name="foo[-1]" value="A"></p>
<p><input type="text" name="foo[0]" value="B"></p>
<p><input type="text" name="foo[1]" value="D"></p>
<p><input type="text" name="foo[]" value="D"></p>
<p><input type="text" name="foobar" value="Z"></p>


</body>
</html>

尝试引用该值:

":input[name^='foo[']"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM