我正在尝试回应一些JavaScript,但是我无法正确地将格式化,我将我想要的javascript放入字符串中
$javascript = 'onmouseover="this.style.backgroundColor='blue'" onmouseout="this.style.backgroundColor='white'"';
然后像这样回复它
$hint="<span $javascript>".$artistname->item(0)->childNodes->item(0)->nodeValue."</span>";
任何帮助将不胜感激
答案 0 :(得分:4)
使用event attributes被认为是不好的做法。 JavaScript should be unobtrusive。此外,我不明白为什么你必须将属性存储在PHP变量中,而不是直接将它们添加到span标记。最后但并非最不重要的是,为什么不在鼠标跨越时使用CSS :hover
selector来改变背景颜色?那将是一个干净的方法。
答案 1 :(得分:1)
从引用代码中的着色中可以看出,您需要转义单引号。你最终会得到:
$javascript = 'onmouseover="this.style.backgroundColor=\'blue\'" onmouseout="this.style.backgroundColor=\'white\'"';
答案 2 :(得分:1)
您应该从输出字符串开始。你希望它看起来像这样:
onmouseover="this.style.backgroundColor='blue'"
onmouseout="this.style.backgroundColor='white'"
现在,为了将PHP中的字符串放入变量中,您需要用单引号或双引号括起来。由于您的字符串包含单引号和双引号,因此它们中的任何一个都需要“转义”。
使用单引号:
$javascript = 'onmouseover="this.style.backgroundColor=\'blue\'"
onmouseout="this.style.backgroundColor=\'white\'"';
使用双引号:
$javascript = "onmouseover=\"this.style.backgroundColor='blue'\"
onmouseout=\"this.style.backgroundColor='white'\"";
修改强>:
最后注意事项:仔细阅读Gordon发布的内容。