Side navigation
#3976 closed bug (worksforme)
Opened January 23, 2009 08:10PM UTC
Closed November 22, 2010 12:39PM UTC
:not returning different results than .not
| Reported by: | jdwbell | Owned by: | jdwbell |
|---|---|---|---|
| Priority: | low | Milestone: | |
| Component: | selector | Version: | 1.3.2 |
| Keywords: | Cc: | ||
| Blocked by: | Blocking: |
Description
In the example given below these two return the expected elements (exclude only divs which contain other divs):
$('*').not('div:has(div)')
$('*').not($('div:has(div)'))
but these three do not (they seem to be excluding all divs as well as all other elements which contain divs:
$(':not(div:has(div))')
$('*:not(div:has(div))')
$('*').filter(':not(div:has(div))')
Tested on Chrome, Firefox, IE6, and Safari.
Thanks!
<html>
<head>
<style>
div, fieldset, p {
border: ridge 1px silver;
padding: 20px;
margin: 20px;
}
.wrappedElement {
border: ridge 2px #FF0000;
}
</style>
<script type="text/javascript" src="jquery-1.3.1.js"></script>
<script>
$(function(){
//$(':not(div:has(div))').addClass('wrappedElement');
//$('*:not(div:has(div))').addClass('wrappedElement');
//$('*').filter(':not(div:has(div))').addClass('wrappedElement');
//$('*').not('div:has(div)').addClass('wrappedElement');
$('*').not($('div:has(div)')).addClass('wrappedElement');
});
</script>
</head>
<body>
<div>
<div>
<div>
<p>paragraph surrounded by three divs</p>
</div>
</div>
</div>
<fieldset>
<div>
div surrounded by fieldset
</div>
</fieldset>
</body>
</html>
Attachments (0)
Change History (4)
Changed January 25, 2009 06:29PM UTC by comment:1
| owner: | → john |
|---|
Changed October 14, 2009 01:00AM UTC by comment:2
| component: | unfilled → selector |
|---|---|
| description: | In the example given below these two return the expected elements (exclude only divs which contain other divs): \ \ $('*').not('div:has(div)') \ \ $('*').not($('div:has(div)')) \ \ but these three do not (they seem to be excluding all divs as well as all other elements which contain divs: \ \ $(':not(div:has(div))') \ \ $('*:not(div:has(div))') \ \ $('*').filter(':not(div:has(div))') \ \ Tested on Chrome, Firefox, IE6, and Safari. \ \ Thanks! \ \ \ <html> \ <head> \ <style> \ div, fieldset, p { \ border: ridge 1px silver; \ padding: 20px; \ margin: 20px; \ } \ .wrappedElement { \ border: ridge 2px #FF0000; \ } \ </style> \ \ <script type="text/javascript" src="jquery-1.3.1.js"></script> \ \ <script> \ $(function(){ \ //$(':not(div:has(div))').addClass('wrappedElement'); \ //$('*:not(div:has(div))').addClass('wrappedElement'); \ //$('*').filter(':not(div:has(div))').addClass('wrappedElement'); \ //$('*').not('div:has(div)').addClass('wrappedElement'); \ $('*').not($('div:has(div)')).addClass('wrappedElement'); \ \ }); \ </script> \ </head> \ <body> \ <div> \ <div> \ <div> \ <p>paragraph surrounded by three divs</p> \ </div> \ </div> \ </div> \ <fieldset> \ <div> \ div surrounded by fieldset \ </div> \ </fieldset> \ </body> \ </html> → In the example given below these two return the expected elements (exclude only divs which contain other divs): \ \ $('*').not('div:has(div)') \ \ $('*').not($('div:has(div)')) \ \ but these three do not (they seem to be excluding all divs as well as all other elements which contain divs: \ \ $(':not(div:has(div))') \ \ $('*:not(div:has(div))') \ \ $('*').filter(':not(div:has(div))') \ \ Tested on Chrome, Firefox, IE6, and Safari. \ \ Thanks! \ \ {{{ \ <html> \ <head> \ <style> \ div, fieldset, p { \ border: ridge 1px silver; \ padding: 20px; \ margin: 20px; \ } \ .wrappedElement { \ border: ridge 2px #FF0000; \ } \ </style> \ \ <script type="text/javascript" src="jquery-1.3.1.js"></script> \ \ <script> \ $(function(){ \ //$(':not(div:has(div))').addClass('wrappedElement'); \ //$('*:not(div:has(div))').addClass('wrappedElement'); \ //$('*').filter(':not(div:has(div))').addClass('wrappedElement'); \ //$('*').not('div:has(div)').addClass('wrappedElement'); \ $('*').not($('div:has(div)')).addClass('wrappedElement'); \ \ }); \ </script> \ </head> \ <body> \ <div> \ <div> \ <div> \ <p>paragraph surrounded by three divs</p> \ </div> \ </div> \ </div> \ <fieldset> \ <div> \ div surrounded by fieldset \ </div> \ </fieldset> \ </body> \ </html> \ }}} |
| milestone: | 1.3.2 → 1.3.3 |
| summary: | :not returning different results then .not → :not returning different results than .not |
| version: | 1.3.1 → 1.3.2 |
Changed October 29, 2010 03:22PM UTC by comment:3
| milestone: | 1.4 |
|---|---|
| owner: | john → jdwbell |
| priority: | major → low |
| status: | new → pending |
Please provide a reduced jsFiddle test case, thanks!
Changed November 22, 2010 12:39PM UTC by comment:4
| _comment0: | [http://jsfiddle.net/jitter/gjJpC/ test case]. Can reproduce this. All for variants yield the same correct result. If you feel this ticket was incorrectly closed, feel free to report back and reopen with a reproducible test case. → 1290449971207604 |
|---|---|
| resolution: | → worksforme |
| status: | pending → closed |
test case. Can't reproduce this. All for variants yield the same correct result. If you feel this ticket was incorrectly closed, feel free to report back and reopen with a reproducible test case.