select 特殊 select 或在 $(this) 之后 select 或
select special selector after $(this) selector
例如我有这个代码
<script>
$(document).ready(function () {
$('span').each(function () {
$(this).html('<div></div>') ;
if ( $(this).attr('id') == 'W0' ) { $( this > div ?!!! ).text('0') }
if ( $(this).attr('id') == 'W1' ) { $( this > div ?!!! ).text('1') }
if ( $(this).attr('id') == 'W2' ) { $( this > div ?!!! ).text('2') }
});
});
</script>
<span id="W0"></span>
<span id="W1"></span>
<span id="W2"></span>
但是 $( this > div )
或 $( this ' > div ' )
是错误的选择器并且不起作用
所以你们建议我应该怎么做?
您可以按如下方式使用它:
$(' > div', $(this))
文档:http://api.jquery.com/child-selector/
或
对于直接子元素,可以使用children
:
$(this).children('div')
文档:http://api.jquery.com/children/
或
使用find
$(this).find(' > div')
您可以将 context to jQuery 与选择器一起传递
$(' > div ', this )
或使用children()喜欢
$(this).children('div')
但是你的解决方案可以这样来完成
$(document).ready(function() {
var texts = {
W0: '0',
W1: '1',
W2: '2'
}
$('span').each(function() {
$('<div />', {
text: texts[this.id]
}).appendTo(this)
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span id="W0"></span>
<span id="W1"></span>
<span id="W2"></span>
例如我有这个代码
<script>
$(document).ready(function () {
$('span').each(function () {
$(this).html('<div></div>') ;
if ( $(this).attr('id') == 'W0' ) { $( this > div ?!!! ).text('0') }
if ( $(this).attr('id') == 'W1' ) { $( this > div ?!!! ).text('1') }
if ( $(this).attr('id') == 'W2' ) { $( this > div ?!!! ).text('2') }
});
});
</script>
<span id="W0"></span>
<span id="W1"></span>
<span id="W2"></span>
但是 $( this > div )
或 $( this ' > div ' )
是错误的选择器并且不起作用
所以你们建议我应该怎么做?
您可以按如下方式使用它:
$(' > div', $(this))
文档:http://api.jquery.com/child-selector/
或
对于直接子元素,可以使用children
:
$(this).children('div')
文档:http://api.jquery.com/children/
或
使用find
$(this).find(' > div')
您可以将 context to jQuery 与选择器一起传递
$(' > div ', this )
或使用children()喜欢
$(this).children('div')
但是你的解决方案可以这样来完成
$(document).ready(function() {
var texts = {
W0: '0',
W1: '1',
W2: '2'
}
$('span').each(function() {
$('<div />', {
text: texts[this.id]
}).appendTo(this)
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span id="W0"></span>
<span id="W1"></span>
<span id="W2"></span>