2010-07-11 4 views
1

Я пытаюсь повторить некоторые из JavaScript, но я не могу получить форматирование права я начинаю, поставив JavaScript Я хочу, чтобы из в строкуJavaScript форматирования, которые будут выводиться из РНР

$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'\""; 

Редактировать:

Конечная нота: внимательно прочитайте то, что Гордон отправил.