Jquery 1.4 to 1.7+

Jquery 1.4 to 1.7+

I have the following code taken from JQuery in action.
  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <title>DVD Ambassador &mdash; Disc Locator</title>
  5.     <link rel="stylesheet" type="text/css" href="dvds.css">
  6.     <script type="text/javascript" src="../../scripts/jquery-1.4.js"></script>
  7.     <script type="text/javascript">
  8.       var filterCount = 0;

  9.       $(function() {

  10.         $('#addFilterButton').click(function(){
  11.           var filterItem = $('<div>')
  12.             .addClass('filterItem')
  13.             .appendTo('#filterPane')
  14.             .data('suffix','.' + (filterCount++));
  15.           $('div.template.filterChooser')
  16.               .children().clone().appendTo(filterItem)
  17.               .trigger('adjustName');
  18.         });

  19.         $('select.filterChooser').live('change',function(){
  20.           var filterType = $(':selected',this).attr('data-filter-type');
  21.           var filterItem = $(this).closest('.filterItem');
  22.           $('.qualifier',filterItem).remove();
  23.           $('div.template.'+filterType)
  24.               .children().clone().addClass('qualifier')
  25.               .appendTo(filterItem)
  26.               .trigger('adjustName');
  27.           $('option[value=""]',this).remove();
  28.         });

  29.         $('button.filterRemover').live('click',function(){
  30.           $(this).closest('div.filterItem').remove();
  31.         });

  32.         $('.filterItem [name]').live('adjustName',function(){
  33.           var suffix = $(this).closest('.filterItem').data('suffix');
  34.           if (/(\w)+\.(\d)+$/.test($(this).attr('name'))) return;
  35.           $(this).attr('name',$(this).attr('name')+suffix);
  36.         });

  37.         $('#addFilterButton').click();

  38.         /*$('#filtersForm').submit(function(){
  39.           $('#resultsPane').load('applyFilters',$('#filtersForm').serializeArray());
  40.           return false;
  41.         });*/

  42.         /* bonus exercise code -- uncomment to enable
  43.         $('input.numeric').live('keypress',function(event){
  44.           if (event.which < 48 || event.which > 57) return false;
  45.         });
  46.         */

  47.       });

  48.     </script>
  49.   </head>

  50.   <body>
  51.     <div id="pageContent">

  52.       <h1>DVD Ambassador</h1>
  53.       <h2>Disc Locator</h2>

  54.       <form id="filtersForm" action="/fetchFilteredResults" method="post">

  55.         <fieldset id="filtersPane">
  56.           <legend>Filters</legend>
  57.           <div id="filterPane"></div>
  58.           <div class="buttonBar">
  59.             <button type="button" id="addFilterButton">Add Filter</button>
  60.             <button type="submit" id="applyFilterButton">Apply Filters</button>
  61.           </div>
  62.         </fieldset>

  63.         <div id="resultsPane"><span class="none">No results displayed</span></div>

  64.       </form>

  65.     </div>

  66.     <!-- hidden templates -->
  67.     <div id="templates">

  68.       <div class="template filterChooser">
  69.         <button type="button" class="filterRemover" title="Remove this filter">X</button>

  70.         <select name="filter" class="filterChooser" title="Select a property to filter">
  71.           <option value="" data-filter-type="" selected="selected">-- choose a filter --</option>
  72.           <option value="title" data-filter-type="stringMatch">DVD Title</option>
  73.           <option value="category" data-filter-type="stringMatch">Category</option>
  74.           <option value="binder" data-filter-type="numberRange">Binder</option>
  75.           <option value="release" data-filter-type="dateRange">Release Date</option>
  76.           <option value="viewed" data-filter-type="boolean">Viewed?</option>
  77.         </select>
  78.       </div>

  79.       <div class="template stringMatch">
  80.         <select name="stringMatchType">
  81.           <option value="*">contains</option>
  82.           <option value="^">starts with</option>
  83.           <option value="$">ends with</option>
  84.           <option value="=">is exactly</option>
  85.         </select>
  86.         <input type="text" name="term"/>
  87.       </div>

  88.       <div class="template numberRange">
  89.         <input type="text" name="numberRange1" class="numeric"/> <span>through</span>
  90.         <input type="text" name="numberRange2" class="numeric"/>
  91.       </div>

  92.       <div class="template dateRange">
  93.         <input type="text" name="dateRange1" class="dateValue"/> <span>through</span>
  94.         <input type="text" name="dateRange2" class="dateValue"/>
  95.       </div>

  96.       <div class="template boolean">
  97.         <input type="radio" name="booleanFilter" value="true" checked="checked"/> <span>Yes</span>
  98.         <input type="radio" name="booleanFilter" value="false"/> <span>No</span>
  99.       </div>

  100.     </div>

  101.   </body>
  102. </html>
This works perfectly with jquery 1.4 but when I try to upgrade this to 1.7 the line 

  1. $('option[value=""]',this).remove();
No longer seems to work. 

Can someone please advise what braking change may be causing this.

Thanks