我试图使用$_GET改变css属性得到错误的结果


I'm am trying to change a css property using $_GET getting wrong result

首先,这是一个wordpress页面,所以[insert_php]是<?php的替代品。

页面url如下http://********.com/?page_id=98#highlights?sel=q1s

页面上的代码如下

<div id="Question1" style="background-color:[insert_php] if ($_GET['sel'] == "q1s") { echo "black"; } else { echo "white"; }[/insert_php];">

这是我当前的代码,它仍然没有显示任何结果,我检查了我得到的背景颜色的实际值,由于某种原因得到的结果"白色"。

这是因为在URL中传递的第二个参数sel应该直接追加到用&号(&)标识符声明的第一个参数。

在你的参数中间使用片段标识符(#)是误导,因为他也可以用来声明URL的参数。如果hash标记是用来标识一个锚,那么最好把它放在末尾,以避免错误和更好的可读性:

http://you-url.com/?page_id=98&sel=q1s#highlights

试试

<div id="Question1" style="background-color:[insert_php] if ($_GET['sel'] == "q1s") { echo "black"; } else { echo "white"; }[/insert_php];">
[insert_php] echo $_GET['sel'];[/insert_php]
</div>

查看$_GET