用php中的参数回显一个javascript函数

I am trying to pass a JavaScript function with an onclick event in php. The problem I am facing is that the function that I need to pass has a parameter that needs to be in double quotes as follows:

onclick="removeElement("div8")"

Now when I use JavaScript to generate the parameter it comes out fine, but whenever I use an echo function in php, the following happens when I look at the function in the browser

onclick="removeElement(" div8")"

the code I am using to generate this is:

echo '<div><img src="img.png" alt="image" onclick="removeElement("div'.$x.'")" /></div>';

where $x is the number to be added to the parameter.

Is there a way that the function is returned as a whole and not get the space in between?

This is happening because you have quotes inside quotes. This will not work, and breaks the HTML parser. It is seeing the onclick as removeElement(, and then it sees an attribute called div8")".

Try this:

echo '.....onclick="removeElement(&quot;div'.$x.'&quot;)"...';

HTML entities are parsed inside attributes, so the result will be your working code.

Change your echo to this:

echo '<div><img src="img.png" alt="image" onclick="removeElement(\'div'.$x.'\')" /></div>';

try escaping your single-quotes

echo '<div><img src="img.png" alt="image" onclick="removeElement(\'div'.$x.'\')" /></div>';

As long as you do not use any spaces in the attribute value you can ommit the quotes around the html attribute values. All browsers will handle that fine. So you can write:

onclick=removeElement("div8")

You could also use the single quotes:

onclick="removeElement('div8')" or 
onclick='removeElement("div8")'

Or you can escape the double quote:

echo '<div><img src="img.png" alt="image" onclick="removeElement(\"div'.$x.'\")" /></div>';

You must escape quotes in javascript. Instead of

onclick="removeElement("div8")"

you should write

onclick="removeElement(&quot;div8&quot;)"

But a simpler solution would be to write in html directly:

?>
<div>
 <img src='img.png' alt='image' onclick='removeElement("div<?php echo $x; ?>")' />
</div>

when you using php echo try this code

<a href="javascript:add_cota(<?php echo $value->ID .','.$k.', \''.$st.'\'';?>)">

$st is the string param to avoid the ReferenceError: Active is not defined error