Цитата:
Первый код преобразует эту строку 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:58. |