Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过id链接更改td颜色_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 通过id链接更改td颜色

Javascript 通过id链接更改td颜色,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要更改链接调用内容的背景 这是菜单代码: <li class="dropdown"> <a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></

我需要更改
链接调用内容的背景

这是菜单代码:

                    <li class="dropdown">
                        <a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
                          <ul id="FV Orders_sub" class="dropdown-menu" role="menu">
                            <li>
                               <a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
                            </li>
                            <li>
                               <a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
                            </li>
                         </ul>
                    </li>
            <td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
                {if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
                    {if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
                    {if $isReferenceField eq "reference"}
                        {assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
                        {assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
                        {if $REFERENCE_LIST_COUNT > 1}
                            {assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
                            {assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
                            {if !empty($REFERENCED_MODULE_STRUCT)}
                                {assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
                            {/if}
                            <span class="pull-right">
                                {if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
                                <select class="chzn-select referenceModulesList streched" style="width:140px;">
                                    <optgroup>
                                        {foreach key=index item=value from=$REFERENCE_LIST}
                                            <option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
                                        {/foreach}
                                    </optgroup>
                                </select>
                            </span>
                        {else}
                            <label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
                        {/if}
                    {else if $FIELD_MODEL->get('uitype') eq "83"}
                        {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
                    {else}
                        {vtranslate($FIELD_MODEL->get('label'), $MODULE)}
                    {/if}
                {if $isReferenceField neq "reference"}</label>{/if}
            </td>
<td class="fieldLabel" id="fieldlabel">
    <label class="muted pull-right marginRight10px">
        <span class="redColor">*</span>
        <span class="pull-right">
            <span class="redColor">*</span>
            <select class="chzn-select referenceModulesList streched" style="width:140px;">
                <optgroup>
                    <option value=""></option>
                </optgroup>
            </select>
        </span>
        <label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
    </label>
</td>
td.highlighted {
    background-color: #AAF; /* a nice, pleasing shade of purple */
}
window.util = (function() {
    return {
        // class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
        // taken from https://gist.github.com/jbergantine/1165817
        hasClass: function(ele,cls) {
            return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
        },
        addClass: function(ele,cls) {
            if (!this.hasClass(ele,cls)) ele.className += " "+cls;
        },
        removeClass: function(ele,cls) {
            if (this.hasClass(ele,cls)) {
                var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
                ele.className=ele.className.replace(reg,' ');
            }
        }
    };
})();

var tdClick = function(event) {
    var util = window.util;
    // if clicked element is a highlightable <td>
    if (util.hasClass(event.toElement, "clickToHighlight")) {
        // toggle class
        if (util.hasClass(event.toElement, "highlighted")) {
            util.removeClass(event.toElement, "highlighted");
        } else {
            util.addClass(event.toElement, "highlighted");
        }
    }
}

document.getElementById("tableId").addEventListener("click", tdClick);
$("#tableId").on("click", ".clickToHighlight", function(e) {
    var $this = $(this);

    if ($this.is(".clickToHighlight")) {
        $this.toggleClass("highlighted");
    }
});
  • 这是内容代码:

                        <li class="dropdown">
                            <a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
                              <ul id="FV Orders_sub" class="dropdown-menu" role="menu">
                                <li>
                                   <a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
                                </li>
                                <li>
                                   <a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
                                </li>
                             </ul>
                        </li>
    
                <td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
                    {if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
                        {if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
                        {if $isReferenceField eq "reference"}
                            {assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
                            {assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
                            {if $REFERENCE_LIST_COUNT > 1}
                                {assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
                                {assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
                                {if !empty($REFERENCED_MODULE_STRUCT)}
                                    {assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
                                {/if}
                                <span class="pull-right">
                                    {if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
                                    <select class="chzn-select referenceModulesList streched" style="width:140px;">
                                        <optgroup>
                                            {foreach key=index item=value from=$REFERENCE_LIST}
                                                <option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
                                            {/foreach}
                                        </optgroup>
                                    </select>
                                </span>
                            {else}
                                <label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
                            {/if}
                        {else if $FIELD_MODEL->get('uitype') eq "83"}
                            {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
                        {else}
                            {vtranslate($FIELD_MODEL->get('label'), $MODULE)}
                        {/if}
                    {if $isReferenceField neq "reference"}</label>{/if}
                </td>
    
    <td class="fieldLabel" id="fieldlabel">
        <label class="muted pull-right marginRight10px">
            <span class="redColor">*</span>
            <span class="pull-right">
                <span class="redColor">*</span>
                <select class="chzn-select referenceModulesList streched" style="width:140px;">
                    <optgroup>
                        <option value=""></option>
                    </optgroup>
                </select>
            </span>
            <label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
        </label>
    </td>
    
    td.highlighted {
        background-color: #AAF; /* a nice, pleasing shade of purple */
    }
    
    window.util = (function() {
        return {
            // class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
            // taken from https://gist.github.com/jbergantine/1165817
            hasClass: function(ele,cls) {
                return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
            },
            addClass: function(ele,cls) {
                if (!this.hasClass(ele,cls)) ele.className += " "+cls;
            },
            removeClass: function(ele,cls) {
                if (this.hasClass(ele,cls)) {
                    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
                    ele.className=ele.className.replace(reg,' ');
                }
            }
        };
    })();
    
    var tdClick = function(event) {
        var util = window.util;
        // if clicked element is a highlightable <td>
        if (util.hasClass(event.toElement, "clickToHighlight")) {
            // toggle class
            if (util.hasClass(event.toElement, "highlighted")) {
                util.removeClass(event.toElement, "highlighted");
            } else {
                util.addClass(event.toElement, "highlighted");
            }
        }
    }
    
    document.getElementById("tableId").addEventListener("click", tdClick);
    
    $("#tableId").on("click", ".clickToHighlight", function(e) {
        var $this = $(this);
    
        if ($this.is(".clickToHighlight")) {
            $this.toggleClass("highlighted");
        }
    });
    
    
    {if$isReferenceField neq“reference”}{/if}
    {if$FIELD_MODEL->isMandatory()eq true&&$isReferenceField neq“reference”}*{/if}
    {如果$isReferenceField eq“reference”}
    {assign var=“REFERENCE\u LIST”value=$FIELD\u MODEL->getReferenceList()}
    {assign var=“REFERENCE\u LIST\u COUNT”value=COUNT($REFERENCE\u LIST)}
    {如果$REFERENCE\u LIST\u COUNT>1}
    {assign var=“DISPLAYID”value=$FIELD\u MODEL->get('fieldvalue')}
    {assign var=“REFERENCED\u MODULE\u STRUCT”value=$FIELD\u MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
    {if!空($REFERENCED_MODULE_STRUCT)}
    {assign var=“REFERENCED_MODULE_NAME”value=$REFERENCED_MODULE_STRUCT->get('NAME')}
    {/if}
    {if$FIELD_MODEL->isMandatory()eq true}*{/if}
    {foreach key=index item=value from=$REFERENCE\u LIST}
    {vtranslate($value$MODULE)}
    {/foreach}
    {else}
    {if$FIELD\u MODEL->isMandatory()eq true}*{/if}{vtranslate($FIELD\u MODEL->get('label'),$MODULE)}
    {/if}
    {如果$FIELD\u MODEL->get('uitype')eq“83”}
    {include file=vtemplate\u path($FIELD\u MODEL->getUITypeModel()->getTemplateName(),$MODULE)COUNTER=$COUNTER}
    {else}
    {vtranslate($FIELD_MODEL->get('label'),$MODULE)}
    {/if}
    {if$isReferenceField neq“reference”}{/if}
    
    我试图在网上找到一些东西,但什么也找不到。
    当用户单击td元素时,我需要为其添加不同的背景色。

    您可以通过javascript直接执行此操作,方法是在
    单击事件的元素中添加
    事件侦听器

    这可以通过调用元素上的
    addEventListener
    方法来实现,您可以通过调用
    文档上的
    getElementById
    通过
    id
    来检索该方法

    HTML:

    所以适应了你的
    td
    id

    HTML:

    编辑:

                        <li class="dropdown">
                            <a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
                              <ul id="FV Orders_sub" class="dropdown-menu" role="menu">
                                <li>
                                   <a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
                                </li>
                                <li>
                                   <a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
                                </li>
                             </ul>
                        </li>
    
                <td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
                    {if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
                        {if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
                        {if $isReferenceField eq "reference"}
                            {assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
                            {assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
                            {if $REFERENCE_LIST_COUNT > 1}
                                {assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
                                {assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
                                {if !empty($REFERENCED_MODULE_STRUCT)}
                                    {assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
                                {/if}
                                <span class="pull-right">
                                    {if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
                                    <select class="chzn-select referenceModulesList streched" style="width:140px;">
                                        <optgroup>
                                            {foreach key=index item=value from=$REFERENCE_LIST}
                                                <option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
                                            {/foreach}
                                        </optgroup>
                                    </select>
                                </span>
                            {else}
                                <label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
                            {/if}
                        {else if $FIELD_MODEL->get('uitype') eq "83"}
                            {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
                        {else}
                            {vtranslate($FIELD_MODEL->get('label'), $MODULE)}
                        {/if}
                    {if $isReferenceField neq "reference"}</label>{/if}
                </td>
    
    <td class="fieldLabel" id="fieldlabel">
        <label class="muted pull-right marginRight10px">
            <span class="redColor">*</span>
            <span class="pull-right">
                <span class="redColor">*</span>
                <select class="chzn-select referenceModulesList streched" style="width:140px;">
                    <optgroup>
                        <option value=""></option>
                    </optgroup>
                </select>
            </span>
            <label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
        </label>
    </td>
    
    td.highlighted {
        background-color: #AAF; /* a nice, pleasing shade of purple */
    }
    
    window.util = (function() {
        return {
            // class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
            // taken from https://gist.github.com/jbergantine/1165817
            hasClass: function(ele,cls) {
                return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
            },
            addClass: function(ele,cls) {
                if (!this.hasClass(ele,cls)) ele.className += " "+cls;
            },
            removeClass: function(ele,cls) {
                if (this.hasClass(ele,cls)) {
                    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
                    ele.className=ele.className.replace(reg,' ');
                }
            }
        };
    })();
    
    var tdClick = function(event) {
        var util = window.util;
        // if clicked element is a highlightable <td>
        if (util.hasClass(event.toElement, "clickToHighlight")) {
            // toggle class
            if (util.hasClass(event.toElement, "highlighted")) {
                util.removeClass(event.toElement, "highlighted");
            } else {
                util.addClass(event.toElement, "highlighted");
            }
        }
    }
    
    document.getElementById("tableId").addEventListener("click", tdClick);
    
    $("#tableId").on("click", ".clickToHighlight", function(e) {
        var $this = $(this);
    
        if ($this.is(".clickToHighlight")) {
            $this.toggleClass("highlighted");
        }
    });
    
    如果希望菜单项上唯一ID的单独行为影响相同的
    元素,则可以将每个按钮的一些
    单击
    事件行为分配给每个
    链接
    ,并让该函数直接更改颜色或创建一个包装函数来处理它们。我建议使用第二种方法,因为如果您希望在以后进行更改,那么更改一个函数就更容易了,而且还需要检查代码的更大部分

    HTML:

    这样,如果您想拥有更多选项,只需通过添加以下事件处理程序来修改代码:

    document.getElementById("nuovocontrattoFV").addEventListener("click",
        function () {
            switchTDBackgroundColor(this.id);
        }
    );
    
    document.getElementById("nuovocontrattoBIKE").addEventListener("click",
     function () {
            switchTDBackgroundColor(this.id);
        }
    );
    
    // ONLY HAVE TO CHANGE THE ARGUMENT FOR getElementById
    document.getElementById("newListItem").addEventListener("click",
     function () {
            switchTDBackgroundColor(this.id);
        }
    );
    
    function switchTDBackgroundColor(id) {
        var color = "white"; // A default setting
        if (id == "nuovocontrattoBIKE") {
            color = "blue";
        } else if (id == "nuovocontrattoFV") {
            color = "red";
        } else if (id == "newListItem") { // Just Add this check 
            color = "yellow";             // And set to desired color
        }
        document.getElementById("fieldlabel").style["background-color"] = color;
    }
    
    注意:我在jsfiddle示例中的链接上的
    href
    中添加了hashtags,这只是为了避免重定向,因此只显示颜色更改行为

    编辑2:

                        <li class="dropdown">
                            <a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
                              <ul id="FV Orders_sub" class="dropdown-menu" role="menu">
                                <li>
                                   <a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
                                </li>
                                <li>
                                   <a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
                                </li>
                             </ul>
                        </li>
    
                <td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
                    {if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
                        {if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
                        {if $isReferenceField eq "reference"}
                            {assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
                            {assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
                            {if $REFERENCE_LIST_COUNT > 1}
                                {assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
                                {assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
                                {if !empty($REFERENCED_MODULE_STRUCT)}
                                    {assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
                                {/if}
                                <span class="pull-right">
                                    {if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
                                    <select class="chzn-select referenceModulesList streched" style="width:140px;">
                                        <optgroup>
                                            {foreach key=index item=value from=$REFERENCE_LIST}
                                                <option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
                                            {/foreach}
                                        </optgroup>
                                    </select>
                                </span>
                            {else}
                                <label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
                            {/if}
                        {else if $FIELD_MODEL->get('uitype') eq "83"}
                            {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
                        {else}
                            {vtranslate($FIELD_MODEL->get('label'), $MODULE)}
                        {/if}
                    {if $isReferenceField neq "reference"}</label>{/if}
                </td>
    
    <td class="fieldLabel" id="fieldlabel">
        <label class="muted pull-right marginRight10px">
            <span class="redColor">*</span>
            <span class="pull-right">
                <span class="redColor">*</span>
                <select class="chzn-select referenceModulesList streched" style="width:140px;">
                    <optgroup>
                        <option value=""></option>
                    </optgroup>
                </select>
            </span>
            <label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
        </label>
    </td>
    
    td.highlighted {
        background-color: #AAF; /* a nice, pleasing shade of purple */
    }
    
    window.util = (function() {
        return {
            // class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
            // taken from https://gist.github.com/jbergantine/1165817
            hasClass: function(ele,cls) {
                return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
            },
            addClass: function(ele,cls) {
                if (!this.hasClass(ele,cls)) ele.className += " "+cls;
            },
            removeClass: function(ele,cls) {
                if (this.hasClass(ele,cls)) {
                    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
                    ele.className=ele.className.replace(reg,' ');
                }
            }
        };
    })();
    
    var tdClick = function(event) {
        var util = window.util;
        // if clicked element is a highlightable <td>
        if (util.hasClass(event.toElement, "clickToHighlight")) {
            // toggle class
            if (util.hasClass(event.toElement, "highlighted")) {
                util.removeClass(event.toElement, "highlighted");
            } else {
                util.addClass(event.toElement, "highlighted");
            }
        }
    }
    
    document.getElementById("tableId").addEventListener("click", tdClick);
    
    $("#tableId").on("click", ".clickToHighlight", function(e) {
        var $this = $(this);
    
        if ($this.is(".clickToHighlight")) {
            $this.toggleClass("highlighted");
        }
    });
    
    对于jQuery自适应

    $("#nuovocontrattoFV").click(
        function () {
            switchTDBackgroundColor($(this).attr("id"));
        }
    );
    
    $("#nuovocontrattoBIKE").click(
        function () {
            switchTDBackgroundColor($(this).attr("id"));
        }
    );
    
    // ONLY HAVE TO CHANGE THE ARGUMENT FOR getElementById
    $("#newListItem").click(
        function () {
            switchTDBackgroundColor($(this).attr("id"));
        }
    );
    
    function switchTDBackgroundColor(id) {
        var color = "white"; // A default setting
        if (id == "nuovocontrattoBIKE") {
            color = "blue";
        } else if (id == "nuovocontrattoFV") {
            color = "red";
        } else if (id == "newListItem") { // Just Add this check 
            color = "yellow";             // And set to desired color
        }
        $("#fieldlabel").css("background-color",color);
    }
    

    并且

    您需要使用Javascript onclick事件来触发更改。在Javascript函数中,可以将元素传递到函数中

    HTML

    或者

    或者

    HTML:

                        <li class="dropdown">
                            <a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
                              <ul id="FV Orders_sub" class="dropdown-menu" role="menu">
                                <li>
                                   <a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
                                </li>
                                <li>
                                   <a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
                                </li>
                             </ul>
                        </li>
    
                <td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
                    {if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
                        {if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
                        {if $isReferenceField eq "reference"}
                            {assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
                            {assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
                            {if $REFERENCE_LIST_COUNT > 1}
                                {assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
                                {assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
                                {if !empty($REFERENCED_MODULE_STRUCT)}
                                    {assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
                                {/if}
                                <span class="pull-right">
                                    {if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
                                    <select class="chzn-select referenceModulesList streched" style="width:140px;">
                                        <optgroup>
                                            {foreach key=index item=value from=$REFERENCE_LIST}
                                                <option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
                                            {/foreach}
                                        </optgroup>
                                    </select>
                                </span>
                            {else}
                                <label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
                            {/if}
                        {else if $FIELD_MODEL->get('uitype') eq "83"}
                            {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
                        {else}
                            {vtranslate($FIELD_MODEL->get('label'), $MODULE)}
                        {/if}
                    {if $isReferenceField neq "reference"}</label>{/if}
                </td>
    
    <td class="fieldLabel" id="fieldlabel">
        <label class="muted pull-right marginRight10px">
            <span class="redColor">*</span>
            <span class="pull-right">
                <span class="redColor">*</span>
                <select class="chzn-select referenceModulesList streched" style="width:140px;">
                    <optgroup>
                        <option value=""></option>
                    </optgroup>
                </select>
            </span>
            <label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
        </label>
    </td>
    
    td.highlighted {
        background-color: #AAF; /* a nice, pleasing shade of purple */
    }
    
    window.util = (function() {
        return {
            // class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
            // taken from https://gist.github.com/jbergantine/1165817
            hasClass: function(ele,cls) {
                return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
            },
            addClass: function(ele,cls) {
                if (!this.hasClass(ele,cls)) ele.className += " "+cls;
            },
            removeClass: function(ele,cls) {
                if (this.hasClass(ele,cls)) {
                    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
                    ele.className=ele.className.replace(reg,' ');
                }
            }
        };
    })();
    
    var tdClick = function(event) {
        var util = window.util;
        // if clicked element is a highlightable <td>
        if (util.hasClass(event.toElement, "clickToHighlight")) {
            // toggle class
            if (util.hasClass(event.toElement, "highlighted")) {
                util.removeClass(event.toElement, "highlighted");
            } else {
                util.addClass(event.toElement, "highlighted");
            }
        }
    }
    
    document.getElementById("tableId").addEventListener("click", tdClick);
    
    $("#tableId").on("click", ".clickToHighlight", function(e) {
        var $this = $(this);
    
        if ($this.is(".clickToHighlight")) {
            $this.toggleClass("highlighted");
        }
    });
    
    JavaScript:

                        <li class="dropdown">
                            <a id="FV Orders_sub" class="dropdown-toggle" data-toggle="dropdown" role="button" href="#">Inserisci Contratto<b class="caret"></b></a>
                              <ul id="FV Orders_sub" class="dropdown-menu" role="menu">
                                <li>
                                   <a href="index.php?module=SalesOrder&view=Edit&parenttab=FV Orders" id="nuovocontrattoFV">Nuovo Contratto</a>
                                </li>
                                <li>
                                   <a href="index.php?module=SalesOrder&view=List&viewname=50" id="nuovocontrattoBIKE">Nuovo contratto bike</a>
                                </li>
                             </ul>
                        </li>
    
                <td class="fieldLabel {$WIDTHTYPE}" id="fieldlabel">
                    {if $isReferenceField neq "reference"}<label class="muted pull-right marginRight10px">{/if}
                        {if $FIELD_MODEL->isMandatory() eq true && $isReferenceField neq "reference"} <span class="redColor">*</span> {/if}
                        {if $isReferenceField eq "reference"}
                            {assign var="REFERENCE_LIST" value=$FIELD_MODEL->getReferenceList()}
                            {assign var="REFERENCE_LIST_COUNT" value=count($REFERENCE_LIST)}
                            {if $REFERENCE_LIST_COUNT > 1}
                                {assign var="DISPLAYID" value=$FIELD_MODEL->get('fieldvalue')}
                                {assign var="REFERENCED_MODULE_STRUCT" value=$FIELD_MODEL->getUITypeModel()->getReferenceModule($DISPLAYID)}
                                {if !empty($REFERENCED_MODULE_STRUCT)}
                                    {assign var="REFERENCED_MODULE_NAME" value=$REFERENCED_MODULE_STRUCT->get('name')}
                                {/if}
                                <span class="pull-right">
                                    {if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}
                                    <select class="chzn-select referenceModulesList streched" style="width:140px;">
                                        <optgroup>
                                            {foreach key=index item=value from=$REFERENCE_LIST}
                                                <option value="{$value}" {if $value eq $REFERENCED_MODULE_NAME} selected {/if}>{vtranslate($value, $MODULE)}</option>
                                            {/foreach}
                                        </optgroup>
                                    </select>
                                </span>
                            {else}
                                <label class="muted pull-right marginRight10px">{if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if}{vtranslate($FIELD_MODEL->get('label'), $MODULE)}</label>
                            {/if}
                        {else if $FIELD_MODEL->get('uitype') eq "83"}
                            {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE) COUNTER=$COUNTER}
                        {else}
                            {vtranslate($FIELD_MODEL->get('label'), $MODULE)}
                        {/if}
                    {if $isReferenceField neq "reference"}</label>{/if}
                </td>
    
    <td class="fieldLabel" id="fieldlabel">
        <label class="muted pull-right marginRight10px">
            <span class="redColor">*</span>
            <span class="pull-right">
                <span class="redColor">*</span>
                <select class="chzn-select referenceModulesList streched" style="width:140px;">
                    <optgroup>
                        <option value=""></option>
                    </optgroup>
                </select>
            </span>
            <label class="muted pull-right marginRight10px"><span class="redColor">*</span></label>
        </label>
    </td>
    
    td.highlighted {
        background-color: #AAF; /* a nice, pleasing shade of purple */
    }
    
    window.util = (function() {
        return {
            // class manipulation from http://www.openjs.com/scripts/dom/class_manipulation.php
            // taken from https://gist.github.com/jbergantine/1165817
            hasClass: function(ele,cls) {
                return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
            },
            addClass: function(ele,cls) {
                if (!this.hasClass(ele,cls)) ele.className += " "+cls;
            },
            removeClass: function(ele,cls) {
                if (this.hasClass(ele,cls)) {
                    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
                    ele.className=ele.className.replace(reg,' ');
                }
            }
        };
    })();
    
    var tdClick = function(event) {
        var util = window.util;
        // if clicked element is a highlightable <td>
        if (util.hasClass(event.toElement, "clickToHighlight")) {
            // toggle class
            if (util.hasClass(event.toElement, "highlighted")) {
                util.removeClass(event.toElement, "highlighted");
            } else {
                util.addClass(event.toElement, "highlighted");
            }
        }
    }
    
    document.getElementById("tableId").addEventListener("click", tdClick);
    
    $("#tableId").on("click", ".clickToHighlight", function(e) {
        var $this = $(this);
    
        if ($this.is(".clickToHighlight")) {
            $this.toggleClass("highlighted");
        }
    });
    


    您会注意到我正在将事件处理程序附加到表本身。这是因为,对于一个足够大的表,将事件直接附加到每个元素可能会导致性能问题,如果可以通过AJAX更新该表,那么您还需要将新的事件处理程序附加到每个新生成的表单元。我使用的技术称为“事件委派”,我们将事件监听器委派给父元素,在父元素中,它将处理每个单击事件,过滤出哪些事件是重要的并对其采取行动,而不是有几十个或数百个单独的监听器。

    是否需要根据不同的链接更改为不同的颜色?还是相同的颜色?是的,同一表格的不同链接上有不同的颜色。我想你正在寻找这样的东西:。尝试单击颜色我正在寻找的正确组合是farmerjoe建议的组合。我需要的是:如果id=“Nuovocontratofv”,则td set fieldlabel background color=yellow如果id=“Nuovocontratobike”,则set fieldlabel td background color=redI进行编辑以包含您的评论,如果这能回答你的问题,请告诉我。谢谢,这正是我要找的。但它不起作用。。。为什么?@JoeWeb没问题!很高兴能提供帮助,我编辑了最后一个JSFIDLE链接并进行了检查,它可以在我的浏览器上运行,什么功能对您不起作用?很抱歉,它对我不起作用。。。我不知道为什么。我正在尝试JSFIDLE您的上一个版本,但它从来都不适用