Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Как в метод slice вместо числа подставить переменную (https://javascript.ru/forum/project/18577-kak-v-metod-slice-vmesto-chisla-podstavit-peremennuyu.html)

leny 07.07.2011 12:34

Как в метод slice вместо числа подставить переменную
 
Всем привет!
Очень нужна помощь.
Имеется небольшой скрипт:
$(document).ready(function()
{
var kod = ($('.b-adv').html());
var nachalnoeSlovo = (kod.lastIndexOf('goldendart'));
var linck = kod.slice(nachalnoeSlovo, 274);
alert(linck);
});


в пятой строке в методе slice на первое место нужно подставить переменную которая имеет числовое значение. Подскажите пожалуйста как.

trikadin 07.07.2011 12:36

var a= 274;
var linck = kod.slice(nachalnoeSlovo, a);


Проблемы, док?

leny 07.07.2011 12:42

Так не работает, выскакивает пустой alert

melky 07.07.2011 12:44

проверь,чему равна переменная nachalnoeSlovo

var kod = "lorem ipsum sit dor amet, goldendart is fuckin up"
var nachalnoeSlovo = (kod.lastIndexOf('goldendart'));
var linck = kod.slice(nachalnoeSlovo, 274);
alert(linck);

leny 07.07.2011 12:47

3242

melky 07.07.2011 12:48

ок. тогда выложи сюда или в лс переменную kod

leny 07.07.2011 13:03

Что-то я немного не понял.
я скопировал код который вы мне дали
var kod = "lorem ipsum sit dor amet, goldendart is fuckin up"
var nachalnoeSlovo = (kod.lastIndexOf('goldendart'));
var linck = kod.slice(nachalnoeSlovo, 274);
alert(linck);

но подставил вместо linck kod - alert вообще не появился

а переменную kod я вам дал,
я узнал ее вот так
var kod = ($('.b-adv').html());
var nachalnoeSlovo = (kod.lastIndexOf("goldendart"));
var a = 3516; 
//var linck = kod.slice(nachalnoeSlovo, a);
alert(kod);


получилось 3242

Вообщем мне из этого кода

<div class="b-adv__line">
<div class="b-adv__title">
<a target="_blank" href="http://yabs.yandex.ru/count/6X9AioDhIJ040000ZhEVLk44KfK2cm5kGoq1D8Yeq7WDYQOSgoYTe-8D19AgKUaHYgBQOGobcDJ4ZG6Hiu25QmwNknRGtmcFhYJqwf-mUU471fE53Q8lYwCqJcj2Z90k8g3Gr35KaBaDfvWK0daC"><b>Луки</b> по доступным ценам</a>
</div>
Взрослые и детские. Для <i class="b-wbr"></i>охоты и развлечений. <i class="b-wbr"></i>Доставка по России.
<div class="b-serp-url">
<span class="b-serp-url__item">site.ru</span><i class="b-wbr"></i>
</div>
</div>

нужно вытащить в переменную ссылку. Это только часть кода.

trikadin 07.07.2011 14:37

<div class="b-adv__line">
<div class="b-adv__title">
<a target="_blank" href="http://yabs.yandex.ru/count/6X9AioDhIJ040000ZhEVLk44KfK2cm5kGoq1D8Yeq7WDYQOSgoYTe-8D19AgKUaHYgBQOGobcDJ4ZG6Hiu25QmwNknRGtmcFhYJqwf-mUU471fE53Q8lYwCqJcj2Z90k8g3Gr35KaBaDfvWK0daC"><b>Луки</b> по доступным ценам</a>
</div>
Взрослые и детские. Для <i class="b-wbr"></i>охоты и развлечений. <i class="b-wbr"></i>Доставка по России.
<div class="b-serp-url">
<span class="b-serp-url__item">site.ru</span><i class="b-wbr"></i>
</div>
</div>
<script>
link= document.getElementsByTagName("a")[0].href;
alert(link);
</script>

leny 07.07.2011 14:51

Спасибо, но я же написал что это только часть кода. Есть блок, в нем несколько подобных ссылок, все с одинаковыми классами и все с подобными ссылками, местоположение нужной ссылки постоянно меняется, может быть и на первом месте и на пятом и т.д. Так что тут нужен какой та другой способ.

trikadin 07.07.2011 14:54

Находите метод, по которому будете вычислять нужную ссылку. Если вам нужна с каким-то определёнными текстом - то innerHTML в помощь, если с каким-то определённым классом - то className.

leny 07.07.2011 15:59

вот что у меня получилось
$(document).ready(function()
{
var kod = ($('.b-adv').html());
var a = (kod.lastIndexOf('goldendart'));
var a1 = a - 302;
var b = /рекурсивные\s\<i\sclass="b-wbr"\>\<\/i\>и\sбоевые\sв\sЧерёмушках\s!\s\<i\sclass="b-wbr"\>/;
var c = kod.search(b);
//var b1 = b + 3;
var linck = kod.slice(a1,c);
alert(linck);
});


Почему-то выскакивает пустой alert

leny 07.07.2011 17:30

В переменной "с" находится HTML код:

<div class="b-adv__line">
<div class="b-adv__title">
<a target="_blank" href="http://yabs.yandex.ru/count/6X9AioDhIJ040000ZhEVLk44KfK2cm5kGoq1D8Yeq7WDYQOSgoYTe-8D19AgKUaHYgBQOGobcDJ4ZG6Hiu25QmwNknRGtmcFhYJqwf-mUU471fE53Q8lYwCqJcj2Z90k8g3Gr35KaBaDfvWK0daC"><b>Луки</b> по доступным ценам</a>


подскажите пожалуйста как новой переменной присвоить ссылку из этого кода, который находится в переменной "с"?

trikadin 07.07.2011 17:33

c= '<div class="b-adv__line"><div class="b-adv__title"><a target="_blank" href="http://yabs.yandex.ru/count/6X9AioDhIJ040000ZhEVLk44KfK2cm5kGoq1D8Yeq7WDYQOSgoYTe-8D19AgKUaHYgBQOGobcDJ4ZG6Hiu25QmwNknRGtmcFhYJqwf-mUU471fE53Q8lYwCqJcj2Z90k8g3Gr35KaBaDfvWK0daC"><b>Луки</b> по доступным ценам</a>';
div=document.createElement("div");
div.innerHTML= c;
link= div.getElementsByTagName("a")[0].href;
alert(link);

leny 07.07.2011 17:40

Огромное спасибо! Все работает!

leny 07.07.2011 22:57

Ссылку получил. подскажите пожалуйста как сделать переход по ней или клик

trikadin 07.07.2011 23:06

location.href= link


Всё есть тут.


Часовой пояс GMT +3, время: 16:33.