javascript - 如何定位已替换的元素

标签 javascript jquery html

我有一个下拉列表。当值更改时,我想要一条确认消息,要求确认所选值。 a) 如果不是,我希望重置该值。 b) 如果是,我想用带有所选值的 span 标签替换下拉列表。

如何实现 b) 部分。这是我编写的代码,但这会更改所有 span 元素的值。即使是之前已经设置过的。

这是在 php 中。所以请忽略html中的“”和“.”

"<td>".
                    "<select name = 'current' id = 'test'>".
                        "<option value='None' selected>Choose a Sales Rep</option>".
                        "<option value='sales1'>Sale Rep1</option>".
                        "<option value='sales2'>Sale Rep2</option>".
                        "<option value='sales3'>Sale Rep3</option>".
                        "<option value='sales4'>Sale Rep4</option>".
                    "</select>".
                 "</td>";

<script>
        // var current = $('input[name=current]').val();    
        $("select").change(function(){
            if(confirm("Have you chosen your sales rep?")){
                var $set_value = $(this).val();
                console.log($set_value);
                $(this).replaceWith("<span></span>");
                $("span").html($set_value);

                return false;
            }else{
                $(this).val('None');
                //$.data(this, 'current',$(this).val());
            }

        })
    </script>

如何定位刚刚替换我单击的下拉列表的 span 标记? 请指教。

TIA

最佳答案

您只需在插入之前创建它即可

var span = $('<span />', { html : $set_value });

$(this).replaceWith(span);

// if you wanted to do something to it later

span.on('click', function() { alert("wohoo") });

关于javascript - 如何定位已替换的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38862139/

相关文章:

javascript - 使用浏览器滚动条滚动固定的 div 内容

JQuery ListView 新元素 Flash

javascript - DOJO 对话框第二次打不开

jquery - 单击选择器时如何停止滚动功能?

Javascript 一页固定页眉响应式上下滑动

javascript - jquery/javascript代码获取网页主页面的全文内容(包括链接文本,不包括图片)

javascript - 如何在 Firefox 插件 sdk 扩展中使用来自 main.js 的 XMLHttpRequest。 (或类似的东西)

javascript - 在某个时候停止滚动

javascript - 如果一个 div 的高度与另一个 div 的高度相等,请执行某项操作 - 在循环中?

javascript - 如何获取 javascript 中组合键的键码?