Как передать переменную в запрос jQuery? - PullRequest
3 голосов
/ 12 февраля 2010

По какой-то причине это работает:

var oldText = $("#tayke li:eq(" + theIndex + ")" ).text();

Но это не так:

var tayke_li =  "#tayke li:eq(" + theIndex + ")"
var oldTest = $( tayke_li ).text();

Примечание: индекс является целым числом.

Ответы [ 3 ]

1 голос
/ 12 февраля 2010

Работает в обе стороны. Я переделал это, и это сработало. Проверьте переменную theIndex на предмет изменений и области действия. Попробуйте заменить его жестко закодированным 1

добавление в вопрос информации о версии jQuery и спецификации браузера.

0 голосов
/ 12 февраля 2010

1001 * попробовать *

var oldText = $("#tayke li:eq("+parseInt(theIndex)+")").text();

или

var oldText = $("#tayke li").eq(theIndex).text();
0 голосов
/ 12 февраля 2010

Имеет ли значение, если поставить точку с запятой в конце строки:

var tayke_li =  "#tayke li:eq(" + theIndex + ")"; //<---

Я создал простой пример, и он отлично работает:

alert($("#tab1").length);
var s = "#tab" + String(1); //alerts "1"
alert(s);  //alerts "#tab1"
alert($(s).length); //alerts 1

Также попробуйте явное приведение theIndex к строке, используя String(). Вы дважды проверили, что хранится в tayke_li

Требуется точка с запятой?

Вы рекомендуете использовать точки с запятой после каждого оператора в JavaScript?

Каковы последствия этого бита JavaScript?

Стоит ли использовать точки с запятой в JavaScript?

http://www.webmasterworld.com/forum91/521.htm

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