: содержать / начать с - PullRequest
       15

: содержать / начать с

5 голосов
/ 06 января 2010

Есть ли в jQuery фильтр "начать по", что-то вроде: содержать, но с условием начала строки?

Ответы [ 4 ]

9 голосов
/ 06 января 2010

Не знаю, но вы можете легко реализовать свой собственный селектор для jQuery:

$.extend($.expr[':'], {
    startsWith: function(elem,match) {  
        return (elem.textContent || elem.innerText || "").indexOf(match[3]) == 0;
    }  
});

Теперь вы можете использовать его так:

$("p:startsWith(Hello)").css("color","red")
3 голосов
/ 06 января 2010

Нет, но вы можете сделать это самостоятельно, используя filter, как указано в импульсе:

$('a').filter(function(){
    return $(this).text().indexOf('start') == 0 }
)

Вы можете использовать регулярное выражение здесь, чтобы игнорировать регистр, или для более сложных поисков:

$('a').filter(function(){
    return $(this).text().match(/^start/i) }
)
1 голос
/ 06 января 2010

Я думаю, вы можете использовать

indexOf функция в javascript

var str = "test string print";

str.indexOf ( "test" ) returns 0

и

str.indexOf ( "print" ) returns 12

Таким образом, вы можете проверить возвращаемое значение функции indexOf, и если оно равно 0, то оно находится в начальной позиции.

0 голосов
/ 06 января 2010
Start With: ^=

Оператор ^ = отфильтрует элементы, атрибут которых начинается с заданного значения.

Подробнее здесь:

http://www.bennadel.com/blog/1003-Cool-jQuery-Predicate-Selectors.htm

jQuery Возвращает элементы, где ID начинается с определенной строки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...