Ank*_*rma 8 html javascript jquery scope jquery-traversing
jQuery代码:
$(document).ready(function() {
$('#s-results').load('get_report1.php').show();
$('#search-btn').click(function(){ showValues(); });
$(function() {
$('form').bind('submit', function() { showValues(); return false; });
});
function showValues() {
$.post('get_report1.php', { name: form.name.value },
function(result) {
$('#s-results').html(result).show();
}
);
}
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<form name = "form">
<div>Enter name</div>
<input type="text" name="name" id="fn" />
<input type="submit" value="Search" id="search-btn" />
<div>
<input type="text" id="se2" name="search22">
</div>
</form>
<div id = "s-results" style="height:50px;">
</div>
Run Code Online (Sandbox Code Playgroud)
到目前为止,脚本运行完美.现在我只想再次从上面的函数中过滤返回的HTML.
为了实现这一点,我尝试了这行代码:
$(result).filter('#se2');
Run Code Online (Sandbox Code Playgroud)
在带result参数的函数下,但它不起作用.
那么如何过滤返回的HTML代码呢?
您可能需要find()而不是filter根据需要获取后代,而过滤器" 将匹配元素的集合减少到与选择器匹配的元素或传递函数的测试 "
$(result).find('#se2');
Run Code Online (Sandbox Code Playgroud)
如果#se添加,DOM则可以直接使用id选择器
se = $('#se2');
Run Code Online (Sandbox Code Playgroud)
我做了另一个演示(因为我还在等待你的演示无效)进一步详细说明如何将包含你所拥有的html的字符串传递给jQuery函数,$()以使用find搜索其中的元素.
html = '<form name = "form"> \
<div>Enter name</div> \
<input type="text" name="name" id="fn" /> \
<input type="submit" value="Search" id="search-btn" /> \
<div> \
<input type="text" id="se2" name="search22" value="se2"/> \
</div> \
</form>\
<div id = "s-results" style="height:50px;"> \
</div> ';
alert($(html).find('#se2').val());
Run Code Online (Sandbox Code Playgroud)
注意:您可以在上面通过进一步检查代码中的示例工作find 无法正常工作使用filter过这个的jsfiddle例子
| 归档时间: |
|
| 查看次数: |
1073 次 |
| 最近记录: |