我有一个小脚本:
http://jsfiddle.net/gmAjC/
<input name="n1" value="test">
<br/><span></span>
<br/>
<span style="background-color:red">after input</span>下面是js:
$('input[name=n1] ~ span:first').html('new content');它运行良好,直到我将'br‘(输入后)更改为'p’。这是jQuery错误还是我的查询错误?谢谢。
发布于 2011-04-18 10:19:23
下面是您在该jsFiddle中使用的超文本标记语言
<span style="background-color:red">before input</span><p/>
<input name="n1" value="test">
<br/><span></span>
<span style="background-color:red">after input</span>如果我去掉了第一行末尾的<p/>,那么如果我将输入后的<br/>更改为<p>,脚本就能正常工作。
以下示例
<span style="background-color:red">before input</span>
<input name="n1" value="test">
<p></p><span></span>
<span style="background-color:red">after input</span>以下是更新后的小提琴:http://jsfiddle.net/gmAjC/2/
在这里阅读有关自动关闭标签(以及<p/>无效的原因)的更多信息:http://www.456bereastreet.com/archive/201005/void_empty_elements_and_self-closing_start_tags_in_html/
https://stackoverflow.com/questions/5697894
复制相似问题