Цитата:
Первый код преобразует эту строку vote(2,23,1,'2750ee0fc11',-10) в vote,2,23,1,'2750ee0fc11',-10 А второй код делает из этой строки массив , разделяю переменные по запятой...... Сейчас попробовал такой код
jQuery('#my_link a').click(function(event) {
var href_link = jQuery(this).attr('href');
var title_link = jQuery(this).attr('title');
var link_this = this;
var re = /^(\w+)\(([^)]*)\)$/;
var found = href_link.match(re);
alert(found);
var myString = ""+found+"";
var splits = myString.split(",");
alert(splits[5]);
return false;
});
Впринципе выдаёт то что мне надо , только начиная с 5... 5 возврашает vote 6 возврашает 2 7 возврашает 23 8 возврашает 1 9 возврашает 2750ee0fc11 и т.д. |
Цитата:
как у тебя получилось начиная с 5го элемента - не понял O_o |
Цитата:
Если я вызываю алерт : alert(splits[0]) возврашает vote(2 alert(splits[1]) возврашает 23 alert(splits[2]) возврашает 1 alert(splits[3]) возврашает 2750ee0fc11 alert(splits[4]) возврашает -10) С пятого всё нормально идёт... |
и всё таки даже если использовать этот код начиная с 5....
то всё равно не проходит так как один из элементов остаётся в одинарных кавычках '2750ee0fc11', получается теперь еще кавычки надо убрать ! Это просто писец :) |
Цитата:
"vote(2,23,1,'2750ee0fc11',-10)".match(/^(\w+)\(([^)]*)\)$/) Еще вместо alert можно в скрипте писать console.log( "vote(2,23,1,'2750ee0fc11',-10)".match(/^(\w+)\(([^)]*)\)$/) ) и опять же результат попадет во вкладку Console Цитата:
Цитата:
str.substring(1, str.length-1)
str.replace("'",'')
str.replace("'",'').replace('"','')
str.replace(/^('|")/, '').replace(/('|")$/, '')
|
Огромное спасибо. Теперь работает.
Код такой:
jQuery('#my_link a').click(function(event) {
var href_link = jQuery(this).attr('href');
var title_link = jQuery(this).attr('title');
var link_this = this;
var re = /^(\w+)\(([^)]*)\)$/;
var found = href_link.match(re);
var myString = ""+found+"";
var splits = myString.split(",");
var splits9 = splits[9].replace(/^('|")/, '').replace(/('|")$/, '');
vote(splits[6], splits[7], splits[8], splits9, splits[10], link_this,title_link);
return false;
});
Длинноват как то конечно :) |
var myString = ""+found+"";
var splits = myString.split(",");
var splits9 = splits[9].replace(/^('|")/, '').replace(/('|")$/, '');
а почему бы не сделать так:
var els = found[2].split(',');
var el3 = els[3].replace(/('|")/g)
replace(/('|")/g) - думаю можно и так, кавычки ведь скорее всего только ограничивать строку будут? В середине вряд ли будут присутствовать? this не обязательно в link_this копировать |
Цитата:
var el3 = els[3].replace(/('|")/g)
То опять возникает ошибка undefined2750ee0fc11undefined Почему то вместо кавычек вставляется текст undefined Цитата:
? |
А ок понял , если написать так
var el3 = els[3].replace(/('|")/g,'')
Тогда всё ок. Привожу код полностью , может комуто потом пригодится
jQuery('#my_link a').click(function(event) {
var href_link = jQuery(this).attr('href');
var title_link = jQuery(this).attr('title');
var link_this = this;
var re = /^(\w+)\(([^)]*)\)$/;
var found = href_link.match(re);
var splits = found[2].split(',');
var el9 = splits[3].replace(/('|")/g,'');
vote(splits[0], splits[1], splits[2], el9, splits[4], link_this,title_link);
return false;
});
|
Цитата:
p.s. found[1] будет содержать название функции (ты еще unvote хотел) |
| Часовой пояс GMT +3, время: 08:13. |