2010-07-11 38 views
1

我想呼应了一些JavaScript来呼应,但我不能得到正确的格式由我把的JavaScript开始我想出去到一个字符串格式化的JavaScript由PHP

$javascript = 'onmouseover="this.style.backgroundColor='blue'" onmouseout="this.style.backgroundColor='white'"'; 

然后回声它这样

$hint="<span $javascript>".$artistname->item(0)->childNodes->item(0)->nodeValue."</span>"; 

任何帮助,将不胜感激

回答

4

使用event attributes被认为是不好的做法。 JavaScript should be unobtrusive。另外,我不明白为什么您必须将属性存储在PHP变量中,而不是直接将它们添加到span标记中。最后但并非最不重要的是,为什么不用CSS :hover selector来改变鼠标超过范围时的背景颜色?这将是一个干净的方法。

1

正如你可以从报价代码着色告诉,你需要逃避你的单引号。您将以:

$javascript = 'onmouseover="this.style.backgroundColor=\'blue\'" onmouseout="this.style.backgroundColor=\'white\'"'; 
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'\""; 

编辑

最后一点:仔细什么戈登已经发布读取。