如何定位已被替换的元素

How to target element that has been replaced

本文关键字:替换 元素 何定位 定位      更新时间:2023-09-26

我有一个下拉列表。当一个值被更改时,我想要一个确认消息,要求确认所选的值。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") });