JQuery получить номер из строки - PullRequest
2 голосов
/ 21 декабря 2010

Я пытаюсь использовать jQuery для передачи высоты в colorbox.При этом, единственный способ определить высоту - использовать ссылки «класс».Поэтому я пытаюсь понять, как получить число из строки;например;

class = "height_900";Я хочу, чтобы он получил число «900».

Возможно ли это с помощью jQuery?

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Хорошо ... Вот что я пытаюсь достичь.

Я создаю WordPress Shortcode для colorbox (вариант лайтбокса).Colorbox устанавливает его высоту и ширину с помощью jQuery.

Шорткод Wordpress содержит атрибуты 'height' и 'width', которые позволяют пользователю устанавливать их вручную, если они пожелают.Проблема в том, что я не могу найти способ передать эти переменные PHP в jQuery colorbox.

Лучшее решение, которое я мог бы придумать, - это создать класс, который выглядит следующим образом: height_ $ height;например, высота_450.Затем я хотел получить только число с помощью jQuery, а затем использовать его в качестве высоты этого конкретного цветового окна.То же самое для ширины.

Ответы [ 5 ]

8 голосов
/ 21 декабря 2010

попробуйте это:

parseInt( className.split('_')[1] );
3 голосов
/ 21 декабря 2010
$(<Selector>).attr('class').split('_')[1];

ПРИМЕЧАНИЕ Я не проверяю ошибки.И что вы пытаетесь сделать (более четко), должен быть лучший способ.

2 голосов
/ 21 декабря 2010

Прежде всего в ответ на ваш вопрос. Заставьте jQuery работать на вас. У него есть метод .height(), который не только вернет текущую высоту окна, но и позволит вам установить его (например, $("#someID").height( 200 ))

Во-вторых: CSS должен использоваться для описания вещи, а не атрибута вещи. Что если вы захотите вернуться позже и изменить высоту своих элементов на 700 вместо 900? Вы также должны оставить их без названия, поэтому у вас есть:

.height_900 {
     height: 700px;
}

-или- вы должны менять имя класса везде, где вы его используете. Это побеждает цель CSS.

Вместо этого назовите свой класс тем, что он должен содержать. Что-то вроде: .menuItem, что позволяет любому знать, что они будут изменять свойства ваших пунктов меню.

1 голос
/ 19 сентября 2013

Вот хороший способ использования parseInt ()

if(Stringname.substr(-3)==parseInt(Stringname.substr(-3)))
var b=Stringname.substr(-3);
else if(Stringname.substr(-2)==parseInt(Stringname.substr(-2)))
var b=Stringname.substr(-2);
else
var b=Stringname.substr(-1);

. Он проверяет и дает правильный ответ и сохраняет его в переменной b для 1-значного числа и до 3-значного числа.Вы можете сделать это любому, если у вас есть логика

0 голосов
/ 21 декабря 2010

Поздний ответ, но если вы знаете количество нужных вам символов, я бы использовал .slice() вместо :

"height_900".slice(-3);

Это даст вам последние 3символы в строке.

Если вы хотите, чтобы результат был числом, вы можете использовать унарный оператор + для преобразования.

+("height_900".slice(-3));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...