javascript - 动态加载时,jQuery获取调用<script>标记

标签 javascript jquery magicsuggest

在什么情况下,如何找到调用JQuery脚本的标签?
  标签是动态加载的,因此不会是最后一个
  在页面上标记?


我正在使用MagicSuggest自动建议库。我想根据内容的不同,为某些建议项提供不同的背景颜色,我目前正在通过在标签内添加JQuery来实现这一目的,然后将其添加到String上,该String返回以呈现在选择div中。然后,要获得建议使用该项目的div,我实际上需要获取标签的parent(),并更改其css()属性。但是,如何获取此当前脚本标签?

目前,我为每个新标签分配了一个通过递增JS变量生成的ID-可以,但是效果不是很好!无论如何,我可以直接使用JQuery定位标签吗?

如果可能更清楚一点,这是我当前的selectionRenderer函数。

selectionRenderer: function(a){
                    var toRet =  a.english;
                    var blueBgScript = "<script id=ft" + freeTextFieldID + ">$('#ft" + freeTextFieldID + "').parent().css('background', 'blue');</script>"
                    if(a.id==a.english){
                        toRet += blueBgScript;
                        freeTextFieldID++;
                    }
                    return toRet;
                },

最佳答案

为什么不在afterrender事件中添加一些代码呢?添加一些标记来标记需要不同背景的选项,然后检测父项并添加一个类(或编辑bg属性)或您喜欢的任何东西:

var newMS = $('#idStr').magicSuggest({
                data: 'states.php',
                displayField: 'english',
                valueField: 'id',           
                selectionRenderer: function(a){
                    var toRet =  a.english;
                    if(a.id==a.english) toRet = "<span class='freetext'>" + toRet + "</span>";
                    return toRet;
                },
            });

$(newMS).on('selectionchange', function(event,combo,selection){
    var selDivs = $(event.target._valueContainer[0].parentNode).children('div');            //Get all the divs in the selction 
    $.each(selDivs,function(index,value){                               //For each selected item
        var span = $(value).children('.freetext');                      //It if contains a span of class freetext
        if(span.length == 1) $(value).css('background','blue');         //Turn the background blue
    });

关于javascript - 动态加载时,jQuery获取调用&lt;script&gt;标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17239201/

相关文章:

javascript - 我在使用加法运算得出另一个值时做了两个变量?

javascript - 为什么 Firefox 会忘记变量的值?调试解决方案?

jquery - 无法使用 toChecklist 插件

jquery - 如何将焦点设置到MagicSuggest输入元素

javascript - MagicSuggest 不显示初始标签(值)

javascript - 如何选择仅第一级子节点的最后一个子节点

php - 动态页脚集成

具有非线性/指数/对数步骤的 JQuery UI slider

php - 用jQuery Ajax发送数组

javascript - Magicsuggest 更改占位符文本