jQuery选择器中的“上下文”是什么?

之间有什么区别


$('input.current_title', '#storePreferences').prop('disabled', false);


$('#storePreferences input.current_title').prop('disabled', false);


达令说
浏览 648回答 2
2回答

偶然的你

有什么区别$('input.current_title', '#storePreferences').prop('disabled', false);和$('#storePreferences input.current_title').prop('disabled', false);?是的,但是很微妙区别在于如何选择元素。$('input.current_title', '#storePreferences');等于1:$('#storePreferences').find('input.current_title');但不等同于:$('#storePreferences input.current_title');即使相同的元素也会受到影响。它们之所以不同,是因为using find允许将上下文返回到#storePreferenceswhen end调用。1:jQuery v1.9.1源代码中的194-202行// HANDLE: $(expr, $(...))} else if ( !context || context.jquery ) {    return ( context || rootjQuery ).find( selector );// HANDLE: $(expr, context)// (which is just equivalent to: $(context).find(expr)} else {    return this.constructor( context ).find( selector );}根据您的问题,将修改相同的元素,因此功能上没有差异,但重要的是要意识到所使用选择器的广泛含义。
打开App,查看更多内容
随时随地看视频慕课网APP