0

任务:为具有特定类名的 HTML 元素使用函数。

简而言之:我有一个 Jquery 函数,它将通过添加在页面中设置所有样式但我需要,如果 a 的类名为“noStyle”,则不应执行该函数

这是我的jQuery:

var scr = jQuery.noConflict();
   scr(document).ready(function($){
    scr.fn.extend({

customStyle : function(options) {

  if(!scr.browser.msie || (scr.browser.msie&&scr.browser.version>6)){
  return this.each(function() {

                    function hasClass($currentSelected1, cls) {
                        return (' ' + $currentSelected1.className + ' ').indexOf(' ' + cls + ' ') > -1;
                    }

        var currentSelected = scr(this).find(':selected');

                    if(hasClass(scr(this)[0].outerHTML, 'noStyle') == false)
                        {
                            scr(this).after('<span class="customStyleSelectBox"><span class="customStyleSelectBoxInner">'+currentSelected.text()+'</span></span>').css({position:'absolute', opacity:0,fontSize:scr(this).next().css('font-size')});
                            var selectBoxSpan = scr(this).next();
                            var selectBoxWidth = parseInt(scr(this).width()) - parseInt(selectBoxSpan.css('padding-left')) -parseInt(selectBoxSpan.css('padding-right'));
                            var selectBoxSpanInner = selectBoxSpan.find(':first-child');
                            selectBoxSpan.css({display:'inline-block !important'});
                            selectBoxSpanInner.css({width:selectBoxWidth, display:'inline-block'});
                            var selectBoxHeight = parseInt() + parseInt(selectBoxSpan.css('padding-top')) + parseInt(selectBoxSpan.css('padding-bottom'));
                            scr(this).height(selectBoxHeight).change(function(){
                            selectBoxSpanInner.text(scr(this).find(':selected').text()).parent().addClass('changed');
                            });
                        }
                        else{
                            alert("sdklj");
                        }

                    });
                }
            }
        });
    });
    scr(function(){
        scr('select').customStyle();
    });

.phtml 是:

<select  name="board_category_id[]" id="board_category_id" class="noStyle board_category_class" multiple="multiple" style="opacity: 1 !important;position: relative !important;width: 100% !important;" row="2"  onchange="changeselected(this)" style="background-image: none !important;">
                            <?php foreach ($result as $pincategory) { ?>
                                    <option  value=" <?php echo $pincategory->category_id; ?>" id=" <?php echo $pincategory->category_id; ?>"  > <?php echo $pincategory->category_name; ?></option>
                                <?php } ?>
                            </select>

您无需担心 php 标签,因为它可以完美运行。

实时链接是:http: //iseofirm.net/service/SVE177/

4

1 回答 1

0

试试这个:

if(!$(this).hasClass('noStyle')) {....}
于 2012-11-07T08:40:32.820 回答