Tag: html

在jQuery中检测输入变化?

当在input使用jQuery .change时,事件只会在输入失去焦点时被触发 在我的情况下,只要输入值改变,我需要调用服务(检查值是否有效)。 我怎么能做到这一点?

如何检索HTML元素的实际宽度和高度?

假设我有一个<div> ,我希望在浏览器的显示(视口)中居中。 为此,我需要计算<div>元素的宽度和高度。 我应该使用什么? 请包括浏览器兼容性的信息。

为什么浏览器将tbody元素插入表元素?

我正在玩弄一些使用原始html和jQuery的想法。 我做的一件事是创建一个包含一组行的表元素。 <table id="MyTable" > <tr> <td>Title</td> </tr> <tr> <td>1</td> </tr> <tr> <td>2</td> </tr> <tr> <td>3</td> </tr> <tr> <td>4</td> </tr> </table> 但是,当我在FireFox + Firebug,IE8 Developer Toolbar或Google Chrome JavaScript Debugger中查看代码时,所有这些代码都显示出围绕所有tr节点的tbody元素。 我并不反对这种情况……但是这种标准的行为呢?

为什么我的XPath查询(抓取HTML表)只能在Firebug中工作,而不是我正在开发的应用程序?

这是为了给所有类似的问题提供一个规范的问答(但是有太多具体的问题可能成为一个关闭的目标候选人),每周一次或两次出现。 我正在开发一个应用程序,需要解析一个网站的表格。 由于派生网页的XPath表达式是无聊和容易出错的工作,我想使用Firebug的XPath提取器功能 (或其他浏览器中的类似工具)。 示例输入如下所示: <!– snip –> <table id="example"> <tr> <th>Example Cell</th> <th>Another one</th> </tr> <tr> <td>foobar</td> <td>42</td> </tr> </table> <!– snip –> 我想提取第一个数据单元格(“foobar”)。 Firebug提出了XPath表达式 //table[@id="example"]/tbody/tr[2]/td[1] 在任何XPath测试器插件中工作正常,但不是我自己的应用程序(未找到结果) 。 如果我减少查询//table[@id] ,它再次工作。 怎么了?

有没有一个规范,元素的id应该是全局变量?

如果我在Chrome中有<div id='a'> ,那么在JavaScript中我可以做a. stuff() a. stuff() (就好像a是一个全局变量)。 然而,这不适用于FireFox – 我将需要使用document.getElementById('a') 。 这里的正确行为是什么? (根据W3规范) 此外,我感兴趣的是,如果我有一个ID a ID a div,但是在我的脚本中有一个叫做“太”的全局变量,Chrome将如何解决歧义。 行为是随机的,怪异的? 如何翻译由连字符(“ – ”),冒号(“:”)和句点(“。”)组成的元素(好吧,我知道他们可以用document.getElementById访问,但浏览器将如何翻译它进入代表它们的全局变量)

我可以使用jQuery打开一个下拉列表吗?

对于HTML中的这个下拉列表: <select id="countries"> <option value="1">Country</option> </select> 我想打开列表(与左键单击相同)。 这是可能的使用JavaScript(或更具体的jQuery)?

浏览器检测与功能检测

我会暂时扮演魔鬼的主张。 我一直在想,为什么浏览器检测(而不是功能检测)被认为是一个糟糕的做法。 如果我测试某个浏览器的某个版本,并确认,某些功能的行为是以某种可预测的方式,那么决定做特例似乎是可以的。 原因是将来会万无一失,因为这部分浏览器版本是不会改变的。 另一方面,如果我检测到DOM元素具有函数X,则不一定意味着: 这个功能在所有的浏览器中以相同的方式工作 更重要的是,即使在所有未来的浏览器中,它也将以相同的方式工作。 我只是窥探jQuery源代码,他们通过插入一个精心构造的HTML代码片段到DOM中进行特征检测,然后检查它是否具有某些特征。 这是一个明智而可靠的方法,但是我会说如果我在我的一小段个人JavaScript(没有jQuery)中做了这样的事情,那将会有点过重。 他们也具有实际无限的质量保证资源的优势。 另一方面,你经常看到人们做的是他们检查函数X的存在,然后在此基础上,他们认为函数将在所有具有这个函数的浏览器中以某种方式表现。 我没有说任何特征检测不是一件好事(如果使用正确),但我想知道为什么浏览器检测通常立即被驳回,即使这听起来合乎逻辑。 我不知道这是否是另一个时髦的事情。

HTML选择框的高度(下拉菜单)

有人可以确认无法更改单击选择框时显示的下拉菜单的高度。 选择的大小属性使它看起来像一个列表,CSS中的高度属性也没有太大的好处。

我们可以在同一个<table>中有多个<tbody>吗?

我们可以在同一个<table>有多个<tbody>标签吗? 如果是,那么在什么情况下我们应该使用多个<tbody>标签?

从HTML横向打印

我有一个HTML报告,由于列很多,所以需要打印格式。 有没有办法做到这一点,用户不得不改变文件设置? 浏览器中有哪些选项?