ปัญหา jQuery บน ie7 : ตอน attribute



จาก html code ต่อไปนี้ คือต้องการใช้ jQuery ตรวจสอบว่า textbox อันนี้มี attribute disabled หรือไม่เพื่อเอาไปเป็นเงื่อนไขในการทำงานอื่นต่อไป
  1. <html xmlns="http://www.w3.org/1999/xhtml">  
  2. <head>  
  3.     <title></title>  
  4.     <script src="js/jquery-1.4.3.min.js" type="text/javascript"></script>  
  5. </head>  
  6. <body>  
  7.     <input type="text" id="txtd" disabled />  
  8.     <input type="text" id="txt"/>  
  9. </body>  
  10. </html>  

ปัญหาคือ ie7 มันไม่ work
  1. if (jQuery('#txt')[0].attributes['disabled'] == undefined)  

  2.     // แบบนี้ ถ้า ie7 จะ return false ตลอดชาติ ไม่ว่า element นั้น จะมี attribute disabled หรือไม่  
  3.     // แต่ chrome, ie8, ie9, firefox OK  

แนวทางแก้ไข
  1. if (jQuery('#txt').attr('disabled'))  

  2.     // แบบนี้ ทุก browser จะมองเห็น true/false ปกติ  

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

FancyBox not work in UpdatePanel

Convert float to int

Get QueryString from JavaScript