为什么这样做?
$('#findme', '<div><div id="findme">Hello</div></div>')
Run Code Online (Sandbox Code Playgroud)
这不是吗?
$('#findme', '<div id="findme">Hello</div>')
Run Code Online (Sandbox Code Playgroud)
出于某种原因,只有当我有封闭的div时,jQuery才会找到id为findme的div.
即使将其封装在不同的标签中也行不通.
$('#findme', '<html><div id="findme">Hello</div></html>')
Run Code Online (Sandbox Code Playgroud)
另外以下不起作用.
$('<div id="findme">Hello</div>').find('#findme')
$('<html><div id="findme">Hello</div></html>').find('#findme')
Run Code Online (Sandbox Code Playgroud)
虽然这有效.
$('<div><div id="findme">Hello</div></div>').find('#findme')
Run Code Online (Sandbox Code Playgroud)
我不了解上下文的工作原理.
谢谢,兰德尔
Dmi*_*kov 28
实际上很容易.您搜索的方式是使用上下文.因此它需要字符串中最顶层的节点,并搜索它的子节点.
想象一下在html中使用相同的结构并解析它:
$('#findme', '<div><div id="findme"></div></div>')
Run Code Online (Sandbox Code Playgroud)
是相同的
$('div').find('#findme')
Run Code Online (Sandbox Code Playgroud)
要么
$('div').children('#findme')
Run Code Online (Sandbox Code Playgroud)
所以,当你尝试
$('<div id="findme"></div>').find('#findme')
Run Code Online (Sandbox Code Playgroud)
它显然没有孩子.
| 归档时间: |
|
| 查看次数: |
4999 次 |
| 最近记录: |