Jquery选择具有以字符串开头的innerHTML的所有元素?

时间:2010-09-02 20:56:16

标签: javascript jquery html dom

我知道你可以使用:contains来获取innerHTML包含某个字符串的元素,但是如何获取innerHTML以字符串开头的元素?

4 个答案:

答案 0 :(得分:17)

使用过滤功能,您可以根据您喜欢的任何条件进行过滤:

var spans = $("span").filter(function(idx) {
   return this.innerHTML.indexOf(myString) == 0;
});

答案 1 :(得分:10)

我知道这已经过时了,但如果有人想要更好的答案,jQuery自v1.1.4起就有":contains("text")" selector

示例HTML:

<p>Please reply above this line...</p>

示例jQuery选择上面的HTML:

$('p:contains("Please reply above this line")');

答案 2 :(得分:1)

过滤方法可以让你比较一个元素的内容,然后你可以做任何你喜欢的事情(在这种情况下,我已经完成了addClass('selected'))。

$('p').filter(function() {
  var searchString = 'Blue';
  return ($(this).html().substring(0, searchString.length) == searchString);
}).addClass('selected');

演示:

http://jsbin.com/ironi/2

答案 3 :(得分:0)

你可以这样做:

<!doctype HTML>
<html>
<head>
<script type = "text/javascript" language = "JavaScript" src = "jquery-1.4.2.min.js"></script>
<script type = "text/javascript" language = "JavaScript">
var elems;
$(document).ready(function(){
    $("div").each(function(){
        var content = $(this).html();
        if (content.match(/asdf/)){
            alert(content);
        }
    });
});
</script>
</head>
<body>
<div>asdfaowhguiwehgiuh</div>
<div>asdfaowhguiwehgiuh</div>
<div>fdsaaowhguiwehgiuh</div>
<div>fdsaaowhguiwehgiuh</div>
<div>fdsaaowhguiwehgiuh</div>
<div>asdfaowhguiwehgiuh</div>
</body>
</html>

为了找到它是否完全在内容中..如果你想要前几个字符,你应该在这些字符上拆分内容并测试它。