是否有任何HTML标记看起来像<span>,但其内容是由其value属性定义的?</span>

时间:2011-03-15 19:55:02

标签: html

我正在开发一个特殊用途的jQuery插件。基本上,它在“标题”部分和“主要”部分中划分页面的内容。 “main”部分通常包含网格,“header”部分通常包含输入boxen和下拉列表,用于过滤网格的内容。该插件通过执行以下操作自动执行过滤过程:

var data =
$('#header [id][value]')
.map(function() {
    $filter = $(this);
    return {name: $this.attr('id'), value: $this.val()};
});
// data will be passed to $.ajax

有时,我需要“he​​ader”部分中的特定过滤器是readonly字段。在这些情况下,我想将该字段显示为常规HTML标签。但是,这会影响我的插件如何提取要传递给$.ajax的参数。

解决此问题的方法是执行以下操作:

<div id="header">
  ...
  <!-- notice the duplicity -->
  <input name="hiddenField" value="hiddenValue"/>hiddenValue
  ...
</div>

(类似前面代码片段的代码实际上并不存在于我的HTML文件中。它只是我的插件生成的DOM元素的HTML表示。)

但我想要一个更好的解决方案,一个不涉及重复数据的解决方案。那么,是否有任何HTML标记看起来像<span>,但其内容是由其value属性定义的?

1 个答案:

答案 0 :(得分:1)

我认为可以通过样式<input type="text" disabled="disabled" />来完成,它没有背景也没有边框:

input[type=disabled]{
    background:transparent;
    border:0;
    margin:0;
    padding:0;
}

你可以尝试一下。