2014-10-28 38 views
0

我爲我的視圖使用Foundation 5框架,當我回顯一些具有無價值屬性的Foundation元素時,會發生一件有趣的事情。不應該有值的屬性的PHP插入值

例子:

echo "dl class='accordion' id='accordionBlock' data-accordion" 

生成此HTML:

dl class="accordion" id="accordionBlock" data-accordion="" 

爲什麼PHP concatenating =""?這在各種情況下都會發生。對於工作或不工作而言,它沒有非常有害的影響......這很奇怪。這是怎麼回事?

+0

瀏覽器可能做到這一點? – 2014-10-28 18:10:35

+3

PHP不這樣做。除此之外,它將字符串解析爲具有屬性的元素 - 可以。因爲'data-accordion'是一個空屬性,每個屬性都應該有一個值,甚至是空的。瀏覽器也以這種方式遵循標準。 – Cheery 2014-10-28 18:10:36

+0

是的,我也責怪瀏覽器。檢查瀏覽器的網絡活動(在開發工具中)以查看確切的輸出。 – SolarBear 2014-10-28 18:11:31

回答

0

這不是PHP錯誤。 瀏覽器添加此標記。

發生這種情況是因爲'data-'屬性在HTML中有特殊含義。
已聲明但未設置的每個屬性'data- *'(否'='運算符)。
瀏覽器將插入像空(「」)值。

聲明:

<div class="accordion" id="accordionBlock" data-accordion>test</div> 

是類似這樣的:

<div class="accordion" id="accordionBlock" data-accordion="">test</div> 

在這裏你可以找到更多的信息: HTML data-* Attributes

+0

是的,這是Firfox做到了,Chrome沒有,但現在我有一些問題瓦特/鉻和東西不工作 – 2014-10-28 22:07:21