如何获取所有具有以 input
开头的任何类的 div 元素?换句话说,从下面的内容中应返回 a
和 b
,但不应返回 c
。
<div id="a" class="input1 foo"></div>
<div id="b" class="foo input2"></div>
<div id="c" class="xinput3 foo"></div>
这里提供了一个貌似可行的方法,惊人地被接受了。那就是使用$("div[class^='input']");
,但显然这样会漏掉b
。当然,$("div[class*='input']");
会在c
上产生误判。
我能想到的最好办法就是下面这个怪胎:
function getAllInputDivs() {
return $("div").filter(function (i, currentDiv) {
return $.grep($(currentDiv).attr("class").split(" "), function (val) {
return val.substr(0, "input".length) === "input";
}).length > 0;
});
}
有没有更简洁的方法?这里有一个上面代码的演示
$("[id^=input]")
进行选择。 - Kevin BquerySelectorAll
。它们不值得这样做。 - user1106925