在我的应用程序中,我需要隐藏一些值,以便稍后通过jQuery获取它们。
我有一个以下div来保存地图的数据(点击img
之后我想显示一个带有2个标记的地图):
<div class="map-data">
<img src="../map.png">
</div>
为了做到这一点,我需要存储4个隐藏值(1_lat, 1_long, 2_lat, 2_long
),如:
<label type="hidden" value="56.056180">
用于存储此类值的正确隐藏元素是什么? Label
,p
或其他什么?
答案 0 :(得分:3)
您应该使用隐藏类型的输入框来实现此目的:
<input id='1_lat' type="hidden" value="56.056180">
然后,您可以使用$("#1_lat").val("22.0")
答案 1 :(得分:2)
由于您似乎只在客户端使用这些值,即您不打算将它们发送回服务器,因此使用input
元素似乎不对。
这些评论已经有了两个非常好的建议,在这里进行了扩展。
如果我需要每元素数据(每个元素不同的数据),我个人会使用data attributes。
<div id="sampleMap" data-lat1="0.241" data-lat2="0.56">
...
</div>
<div id="anotherSampleMap" data-lat1="0.87" data-lat2="0.283">
...
</div>
可以非常轻松地访问它们。
function configureTheMap(map)
{
var lat1 = map.dataset.lat1;
var lat2 = map.dataset.lat2;
...
}
...
configureTheMap(document.getElementById('sampleMap'));
configureTheMap(document.getElementById('anotherSampleMap'));
您应该检查浏览器兼容性。
如果数据是全局,我只会生成一个JavaScript对象
var coordinates_config = {lat1 : 0.241, lat2 : 0.56};
并相应地使用它
function configureTheMap(map)
{
var lat1 = coordinates_config.lat1;
var lat2 = coordinates_config.lat2;
...
}
如果您定位的浏览器不支持数据属性,则可以轻松地将此方法概括为用于每个元素数据。
在这两种情况下,请允许我记住在生成标记/代码时正确转义的重要性。
答案 2 :(得分:1)
<input id='input_ID' type="hidden" value="whateveryouwant">
答案 3 :(得分:0)
您可以使用输入类型=&#34;隐藏&#34;。
参考:w3schools
答案 4 :(得分:0)
我建议您始终使用INPUT作为隐藏值。
答案 5 :(得分:0)
有以下几种选择: