JavaScript - проблем с кавичките - HELP!!!

afsh

Registered
Здравейте,

Имам сериозен проблем с кавичките и JavaScript. Опитвам се вкарам кавички в следния ред:
Код:
<script>
document.write("<a href=\"gf.html\" name=\"btnBlue\" onClick=\"doAddTags('<span class=blue>'\">tekst</a>");
</script>
Но в така и не мога да сложа кавички на class=blue, а искам да стане class="blue".
Ако е невъзможно, просто нека някой да ми каже, че е невъзможно, за да спра да се опитвам и да се чувствам глупав!!! :D
Искрено ви благодаря предварително!!!!
 
PapaSmurf каза:
Като използваш кода на @Replace и направиш class="blue" имаш ли проблеми?

Да! Проблема си седи. Защото се получава:
"doAddTags(\'<span class="
затваряне на двойната кавичка.
По този начин не става. :?
 
PapaSmurf каза:
Ами и тук сложи наклонени черти...
class="blue"
Виждам, че много искаш да ми помогнеш, за което сърдечно ти благодаря! Но и така не става, защото ескейпващият символ "" действа на типа кавичка, с която е започнат стринга. Ако за почва с "'", тогава мога да използвам \'.
Ако не ми вярваш просто тествай.
 
Да де, исках да кажа да заместиш кавичките (") с &#34; (не забравяй накрая точката и запетаята) или &quot;
 
Replace каза:
Да де, исках да кажа да заместиш кавичките (") с &#34; (не забравяй накрая точката и запетаята) или &quot;
Това също се принти директно. Хора, пробвайте, преди да предлагате идеите! Въпреки всичко ви благодаря!
....

Докато пишех отговора, ми хрумна и решението!!!!! Тройният ескейпващ символ, както в php! беше ми дошло на акъла, ам така и не задълбочих анализа, иначе е простичко:
Код:
<script>
document.write('<a href="gf.html" name="btnBlue" onClick="doAddTags(\'<span class=\\\'blue\\\'>\'">tekst</a>');
</script>
Благодаря на всички, които се включиха в темата! Така или иначе ме наведохте на правилното решение!
Живи и здрави!
 
afsh каза:
Това също се принти директно. Хора, пробвайте, преди да предлагате идеите! Въпреки всичко ви благодаря!!
А може би хората са го пробвали и поради простата причина, че е работило са ти го дали :idea:
Какво значи "да се принти директно" ?
 
Replace каза:
afsh каза:
Това също се принти директно. Хора, пробвайте, преди да предлагате идеите! Въпреки всичко ви благодаря!!
А може би хората са го пробвали и поради простата причина, че е работило са ти го дали :idea:
Какво значи "да се принти директно" ?
За да разбереш изхода от изпълнението на кода ще ти покажа какво се получава от предложените скриптове:
1.
Код:
document.write('<a href="gf.html" name="btnBlue" onClick="doAddTags(\'<span class="blue">\'">tekst</a>');
Изход:
Код:
<a href="gf.html" name="btnBlue" onclick="doAddTags('<span class="blue">'">tekst</a>
Извод: Скрипта не работи

2.
Код:
document.write('<a href="gf.html" name="btnBlue" onClick="doAddTags(\'<span class=\'blue\'>\'">tekst</a>');
Изход: <a href="gf.html" name="btnBlue" onclick="doAddTags('<span class='blue'>'">tekst</a>
Извод: Скрипта не работи

3.
Код:
<script>
document.write('<a href="gf.html" name="btnBlue" onClick="doAddTags(\'<span class=\\\'blue\\\'>\'">tekst</a>');
</script>
Изход: <a href="gf.html" name="btnBlue" onclick="doAddTags('<span class=\'blue\'>'">tekst</a>
Извод: Скрипта работи при кликане на текста!

Дано и на някой друг да му е полезен този код за вмъкване на JavaScript в JavaScript!
 
Извод:
За да не излиза, че те цакаме с грешни кодове ... виж тук. Защо при тебе не работи ... може наистина да се чудим, но щом си се оправил, здраве да е.
 
За да изкристализираме полемиката по кодовете, аз също ще допълнителни дам разяснения. В момента внедрявам в сайт textarea редактор, който изключително много ми харесва, заради лекотата и възможностите за персонализиране:
http://corpocrat.com/2008/12/18/free-wysiwyg-textarea-html-editor/
Единствения начин да добавям собствени стилове с различни цветове в редактиран текст е да използвам span с различни класове. А единственият начин за сега да накарам редактора да поддържа валидиран по стандарта XHTML код е като вкарам името на класа в кавички. И това се получи с тройните ескейпващи чертички.
 

Back
Горе