2016-07-04 70 views
3

我想要實現這樣的如何防止關閉</option>標記被刪除?

<select id="funsports" name="funsports"> 
    <option value="">sports</option> 
    <option value="football">football</option> 
    <option value="tennis">tennis</option> 
</select> 

但是當我保存它部件強行刪除在年底結束標記。當我在博客小部件中使用這種類型的選項時,我遇到了這樣的問題。

我們如何在末尾用</option>標籤強行關閉?任何方式處理jQuery或JavaScript,或者我們只能通過HTML和CSS來實現。

<select id="fungames" name="fungames"> 
    <option value="" />games 
    <option value="roadrash" />roadrash 
    <option value="gta" />gta 
</select> 
+1

爲什麼你覺得這是什麼問題?它是有效的HTML(如下面的[Rahul's answer](http://stackoverflow.com/a/38184305/82548)所示)。 –

+0

大衛托馬斯我不知道根據我的模板在博客或什麼,但當我再次保存與如果我打開編輯器不會顯示我想關閉爲我的項目有些價值觀並沒有採取如上所述。任何其他經過驗證的方法來做這些 – overflowstack9

+1

在你的問題中,你*顯示*缺少一個值,但你不說*(在你的問題中的任何地方),那就是你想解決的問題。但是它或多或少是不相關的,因爲如果沒有「值」,則當提交父'

'時,將使用'

回答

1

是,正如其他人所說,沒有一個實際的問題,但如果你真的想要的是最後的標籤,只是使用jQuery:https://jsfiddle.net/tu3wpzsj/3/

$(document).ready(function() { 
    $('select').append('</option>'); 
    $('option').each(function(i){ 
     if(i!=0) $(this).before('</option>'); 
    }); 
}); 
+0

正是你怎麼看這個呢,還是應該做些什麼?如果你省略了jQuery並簡單地檢查DOM,你會發現'');'將追加只有一個''的話)到'那消失最後的''標籤 - 已經糾正了JQuery的 – hakJav

+1

它的工作@hakJav – overflowstack9

2

W3.org說:

標籤遺漏

一個選項元素必須有一個開始標記。 如果選項元素之後緊跟着 其他選項元素,或緊接着是選項組元素,或者如果父元素 中沒有更多內容,則可以省略選項元素的結束標記 。

+0

但我保存標記,如果我在html中重新打開窗口小部件,它不會顯示關閉標記我應該怎麼做這個 – overflowstack9

+1

問題不在於詢問HTML是否有效。這是問如何保持結束標籤。 –

+1

@邁克爾:但這個答案暗示 - 儘管承認沒有明確說明 - 結束標記是可選的,並不是必需的,它不存在沒有需要解決的問題。 –