I just want to add a html block using .before() fucntion of JQuery here is the block :
$buttonValue = '<div class="addthis_toolbox addthis_default_style" '.$str .'>
<a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>
<a class="addthis_button_tweet"></a>
<a class="addthis_button_pinterest_pinit" pi:pinit:layout="horizontal"></a>
<a class="addthis_counter addthis_pill_style"></a>
</div>';
and here is the Script that I use it :
$script = "(function($){
";
$script .= "$(document).ready(function(){
";
$script .= "$( \".prod-view\" ).before( \"$buttonValue\" );";
$script .= "});
";
$script .= "})(jQuery);" ;
I have already tried php addslashes() function, but with no luck
Try this,
$buttonValue = '<div class="addthis_toolbox addthis_default_style" '.$str .'><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_pinterest_pinit" pi:pinit:layout="horizontal"></a><a class="addthis_counter addthis_pill_style"></a></div>';
SCRIPT
$script = "(function($){
";
$script .= "$(document).ready(function(){
";
$script .= "$( \".prod-view\" ).before( '$buttonValue' );";
$script .= "});
";
$script .= "})(jQuery);" ;
Differences from you code is make the html in single line, otherwise it make a js error. And then use semicolon in .before()