XHTML,可扩展超文本标记语言,是HTML的一个应用程序,它也是一个有效的XML文档,而不是基于SGML的标准HTML。它是一种常用于HTML页面的标记语言,它是使用基于XML的工具生成的。不要将此标记用于Facelets。请改用[facelets]。
我正在为一本 EPUB 图书创建索引。我创建了包含子条目的条目,如下所示: 煤炭 无烟煤 烟煤 褐煤 进口 储备 接缝...
我刚刚读了某人的 HTML,他从未关闭 HTML head 部分中的元和链接标记。代码运行良好;关闭这些标签是可选的吗? 我认为如果标签是...
X/HTML 中总共有多少个 标签可用,哪些应该使用,哪些不应该使用? 请参阅此工具http://www.ulhas.net/tools/tu-metagen 有没有专业人士可以使用其他所有其他元标签...
美好的一天, 我正在尝试使用以下命令行将 html 文件生成的 xhtml 文件中的“head”元素与 HTML tidy 标记校正器进行匹配: tidy -asxml -输出 test_tidy.html --numeric-
我目前正在学习 JSF,使用 JavaEE,所以我将不胜感激任何可能的帮助。我有一段代码,当我尝试访问(通过 JSF 数据表,使用命令按钮)时,它给了我
在我得到的html页面中,我有一个像这样带有值的选择框。 a 在我得到的 html 页面中,我有一个像这样带有值的选择框。 <select onChange="return filler(this.value);"> <option value="{'name':'rajiv',age:'40'}">a</option> <option value="{'name':'mithun',age:'22'}">f</option> </select> 我想传递一个 JavaScript 数组或对象作为选项值。 现在它将选项值视为字符串。 我希望它是一个数组,以便我可以通过访问它 填充函数中的this.value.name,this.value.age。 这可能吗? 您将无法在 value 属性中存储对象/数组,但是可以选择使用 data-* 属性,它通过 jQuery 1.4.3+ 自动支持 json <select> <option data-value='{"name":"rajiv","age":"40"}'>a</option> <option data-value='{"name":"mithun","age":"22"}'>f</option> </select> 并使用.change() $("select").change(function(){ alert($(this).find(":selected").data("value").age); }); jsfiddle 上的示例 不,不只是这样。值必须是字符串。我强烈建议使用 jQuerys .data() 方法来将 Arrays 或 Objects 保存在 Expando 属性中。 如果它必须在值中,你只需要 JSON 解码(.parse)它: var myValue = JSON.parse(this.value); myValue.age; // 40 myValue.name // rajiv 但是,我再次认为这不是一个好的解决方案。看看 http://api.jquery.com/jQuery.data/ 此外,如果您将 JSON 字符串放入任何 data- HTML5 属性中,jQuery 将自动转换数组和对象。例如: <option value="A" data-info="{'name':'rajiv',age:'40'}">something</option> 如果您现在使用 jQuery 访问该节点,我们会自动在其数据展开中获取该对象 $('option').data('info').name; // === rajiv 使用时可以使用parseJSON将字符串转换为对象,但值需要是字符串。 var option = $('select').val(); var selected = $.parseJSON(option); alert( selected.name + ': ' + selected.age ); 反应溶液 const myObjects = [ { text: 'a', value: 1 }, { text: 'b', value: 2 }, ]; const handleSelectChange = (myStringifyObject) => { const myObject = JSON.parse(myStringifyObject); // logic with myObject } <input type='select' onChange={(evt) => handleSelectChange(evt.target.value)}> {myObjects.map((myObject) => ( <option value={JSON.stringify(myObject)} key={myObject.value} > {myObject.text} </option> ))} </input> 这个例子=> 角度选择-比较
如何使用 devtools 或 JavaScript 片段判断加载的页面是否是真正的 XML 处理的 XHTML
检查远程服务器连接失败时显示的 Firefox 系统页面,可以清楚地看到这是一个真正的 application/xhtml+xml 页面: 有明确的 xmlns="http://www.w3.org/...
如何在页面加载时光标聚焦在特定输入框上? 是否也可以保留初始文本值并将光标放在输入末尾? 如何在页面加载时光标聚焦到特定输入框? 是否可以保留初始文本值并将光标置于输入末尾? <input type="text" size="25" id="myinputbox" class="input-text" name="input2" value = "initial text" /> 您的问题分为两部分。 1)如何在页面加载时集中输入? 您只需将 autofocus 属性添加到输入即可。 <input id="myinputbox" type="text" autofocus> 但是,这可能并非所有浏览器都支持,因此我们可以使用 javascript。 window.onload = function() { var input = document.getElementById("myinputbox").focus(); } 2)如何将光标置于输入文本的末尾? 这是一个非 jQuery 解决方案,其中包含一些从 另一个 SO 答案 借来的代码。 function placeCursorAtEnd() { if (this.setSelectionRange) { // Double the length because Opera is inconsistent about // whether a carriage return is one character or two. var len = this.value.length * 2; this.setSelectionRange(len, len); } else { // This might work for browsers without setSelectionRange support. this.value = this.value; } if (this.nodeName === "TEXTAREA") { // This will scroll a textarea to the bottom if needed this.scrollTop = 999999; } }; window.onload = function() { var input = document.getElementById("myinputbox"); if (obj.addEventListener) { obj.addEventListener("focus", placeCursorAtEnd, false); } else if (obj.attachEvent) { obj.attachEvent('onfocus', placeCursorAtEnd); } input.focus(); } 这是我如何使用 jQuery 完成此任务的示例。 <input type="text" autofocus> <script> $(function() { $("[autofocus]").on("focus", function() { if (this.setSelectionRange) { var len = this.value.length * 2; this.setSelectionRange(len, len); } else { this.value = this.value; } this.scrollTop = 999999; }).focus(); }); </script> 请注意 - 对于支持它的浏览器,您现在可以使用 HTML5 执行此操作,无需使用 JavaScript: <input type="text" autofocus> 您可能想从此开始并使用 JavaScript 进行构建,为旧版浏览器提供后备。 $(document).ready(function() { $('#id').focus(); }); function focusOnMyInputBox(){ document.getElementById("myinputbox").focus(); } <body onLoad="focusOnMyInputBox();"> <input type="text" size="25" id="myinputbox" class="input-text" name="input2" onfocus="this.value = this.value;" value = "initial text"> 执行此操作的一种可移植方法是使用自定义函数(处理浏览器差异),例如 this one。 然后在 onload 标签末尾为 <body> 设置处理程序,如 jessegavin 所写: window.onload = function() { document.getElementById("myinputbox").focus(); } 非常简单的一行解决方案: <body onLoad="document.getElementById('myinputbox').focus();"> 工作正常... window.onload = function() { var input = document.getElementById("myinputbox").focus(); } 尝试: 纯Javascript: [elem][n].style.visibility='visible'; [elem][n].focus(); Jquery: [elem].filter(':visible').focus(); 这对我来说效果很好: <form name="f" action="/search"> <input name="q" onfocus="fff=1" /> </form> fff 将是一个全局变量,其名称完全无关,其目的是停止通用 onload 事件以强制将焦点放在该输入上。 <body onload="if(!this.fff)document.f.q.focus();"> <!-- ... the rest of the page ... --> </body> 来自:http://webreflection.blogspot.com.br/2009/06/inputfocus-something-really-annoying.html 如果由于某种原因无法添加到 BODY 标签,您可以在表单之后添加: <SCRIPT type="text/javascript"> document.yourFormName.yourFieldName.focus(); </SCRIPT> 将其添加到 js 的顶部 var input = $('#myinputbox'); input.focus(); 或转为 html <script> var input = $('#myinputbox'); input.focus(); </script> 就做吧! window.onload = function() { setTimeout(function () { document.getElementById("input-box-id").focus(); document.getElementById("input-box-id").click(); }, 1000); }
为什么我的 ASP.NET MVC HTML 帮助程序输出无效的 XHTML 复选框?
由于某种原因,HTML 帮助程序正在输出此无法验证的 HTML。 验证器告诉我: 没有属性“长度” <%= Html.CheckBox("Medicamentos", Model.
div 包装器“语义”HTML 内的标头内是否有 Span?
我在线阅读了有关语义 HTML 的内容... 语义 HTML 意味着使用 HTML 标签来表达其隐含含义,而不是仅仅使用(无意义的)div 和 span 标签来表达所有内容。 如果你使用<...
我有一个从另一个 JavaScript 动态填充的文本文件。由于要求/捆绑问题和许多其他问题,我只是将结果写入文本文件。 我现在想显示
W3C 验证器给出 XHTML 的“文档类型不允许元素在此处“输入”...”错误
我在使用 W3C 验证器验证我的页面时遇到此错误。 来源: 可以一些...
任何熟悉 XML 和 XSLT 的人: 在我的 XMLl 中,我尝试使用下面的 XSLT 为具有不同属性的两个不同的“p”标签着色: &l...
我不久前开始使用 jQuery Mobile,了解 jQuery Mobile 的人都知道,它使用自己的 HTML 属性来为项目赋予预定义的角色。主要是div。 一些例子: 我不久前开始使用 jQuery Mobile,了解 jQuery Mobile 的人都知道,它使用自己的 HTML 属性来为项目提供预定义的角色。主要是div。 一些例子: <div data-role="page" id="trackPage"> <div data-role="header"> ... </div><!-- /header --> <div data-role="content" id="content_init"> <form action="DoTrack" method="post" id="track_form" data-ajax="false"> <div data-role="fieldcontain" id="div_trackselect"> <fieldset data-role="controlgroup" data-type="horizontal"> .... </fieldset> </div> </form> ... </div> ... </div> 如您所见,添加了许多 jQuery 属性,例如 data-role data-type data-ajax data-transition data-iconpos ... 现在,我更喜欢使用 XHTML 严格语法,但是在验证时出现了这些错误:http://cl.ly/400Q080G3X2V3j3x2S00 我也尝试了 XHTML Transitional,但它给出了相同的错误。 我尝试通过谷歌搜索找到解决方案,但找不到。我认为要解决这个问题,所有 jQuery Mobile 属性都应该存在一个 DTD,对吗? 还有其他方法可以解决这个问题吗? jQuery Mobile 主页明确指出: 一个统一的、基于 HTML5 的用户界面系统,适用于所有流行的移动设备平台... 因此,您应该使用 HTML5 文档类型。如果这对您很重要,这将确保您的页面有效。 <!DOCTYPE html> 不要忘记,如果您使用 HTML5 文档类型,您仍然可以使用 XHTML 样式语法。我想大多数人都是这样。 顺便说一句,jQuery Mobile 并没有创建自己的属性 - 它们不完全是“jQuery Mobile”属性 - data-* 属性系统 是 HTML5 的一部分,其存在是为了让您可以将任意数据附加到 DOM 节点。
我正在设计一个网站,并将实现一种“Wiki”。我不是在写脚本,什么都不是,它将是纯 XHTML 和 CSS。 我想从 StackOverf 知道什么...
有没有办法让textarea显示彩色线条?我想要实现的是每隔一行都着色,即白色,灰色,白色,灰色,白色,灰色......以获得更好的可读性。用户支持...
JTidy (HTML-Tidy) 在 w3c HTML 验证器上使用的配置
我正在使用 JTidy(HTML Tidy 库的 java 端口)来清理一些现有站点。当我使用 JTidy 时,我的配置似乎非常严格,最终切断了 pa 的底部...
考虑到 和 是内联元素,而 是块元素,那么在不使用脚本的情况下将 嵌套在跨度/标签内的正确方法是什么? 我... 鉴于 <label> 和 <span> 是内联元素,而 <ol> 是块元素,那么在不使用脚本的情况下将 <ol> 嵌套在跨度/标签内的正确方法是什么? input { vertical-align: top; } label { display: block; } label + label { margin-top: 1em; } ol { padding:0; margin:0; } <label for="foo"> <input id="foo" type="checkbox" /> <span style="padding-left: 1em; display:inline-block;"> <ol> <li>Boat</li> <li>Jet</li> <li>Chopper</li> </ol> </span> </label> <label for="bar"> <input id="bar" type="checkbox" /> <span style="padding-left: 1em; display:inline-block;"> <ol> <li>Car</li> <li>Auto</li> </ol> </span> </label> 目标是拥有一个自动排序的列表,它不依赖于 JavaScript,这也被认为是 W3C XHTML 有效的。 您可以使用图像映射 (map) 来包含您的列表,但这可能会滥用 map 标签。 我的意思是这样的: <label for="foo" style="padding:1em;display:inline-block;"> <map id="foolist"> <ol> <li>1</li> <li>2</li> <li>3</li> </ol> </map> </label> <input name="foo" id="foo" type="checkbox" /> 编辑:W3C 声明 map 属性是块级: MAP 元素内容模型允许 作者结合以下内容: 一个或多个 AREA 元素。 这些元素没有内容,但是 指定几何区域 图像映射和关联的链接 每个地区。请注意,用户代理会 通常不渲染 AREA 元素。 因此,作者必须提供 每个区域的替代文本 alt 属性(参见下文 有关如何指定的信息 替代文本)。 块级 内容。 该内容应包括 A 指定几何元素 图像映射的区域和链接 与每个区域相关。注意 用户代理应该呈现 MAP 元素的块级内容。 作者应该使用此方法 创建更易于访问的文档。 既然没有人回答,我就尝试一下: 使用 span 手动创建列表 <label for="foo"> <span style="padding:1em;display:inline-block;"> <span class="ol"> <br /><span class="li">1. 1</span> <br /><span class="li">2. 2</span> <br /><span class="li">3. 3</span> </span> </span> </label> 在 CSS 中看到 ol{...} 或 li{...} 的每个地方,您都必须插入该类; ol,.ol{...}和li,.li{...}。此外,.ol可能需要有display:block; 换行符可能会被替换为清晰的,但这都是我的想法,没有测试。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="description" content="" /> <meta name="keywords" content="" /> <title>foo</title> <style type="text/css"> /*<![CDATA[*/ span.c1 {padding:1em;display:inline-block;} /*]]>*/ </style> </head> <body> <ol> <li><label for="foo"><span class="c1">1</span></label></li> <li><label for="foo"><span class="c1">2</span></label></li> <li><label for="foo"><span class="c1">3</span></label></li> </ol> </body> </html>
如果我使用 XHTML 4.01 Strict,我是否应该避免使用 HTML5 中不支持的标签?
这些元素在 HTML5 中不受支持,但在 XHTML 中受支持: 首字母缩略词,大,tt 将来,当我将文档类型更改为 HTML5 时,我将不需要替换或更改任何 cod...