0

ミッション:特定のクラス名を持つHTML要素の関数をスキルアップします。

簡単に言うと、追加することでページ内のすべてのスタイルを設定するJquery関数が1つありますが、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 に答える