Jquery 生成img时的If子句问题

Jquery 生成img时的If子句问题,jquery,sorting,insert,move,Jquery,Sorting,Insert,Move,剧本如下 $("#Results a").live('dblclick', function(event){ var src = $(this).attr("href"); if (event.type === 'dblclick') { if ($(this).hasClass(".A")) { $('<img />', {'src': src,'class': 'Box'}).wrap('<div class="Pac

剧本如下

$("#Results a").live('dblclick', function(event){
    var src = $(this).attr("href");
    if (event.type === 'dblclick') {
        if ($(this).hasClass(".A")) {
            $('<img />', {'src': src,'class': 'Box'}).wrap('<div class="Packet" />').parent().insertAfter($('.Spot_A').parent());
        } else if ($(this).hasClass(".B")) {
            $('<img />', {'src': src,'class': 'Box'}).wrap('<div class="Packet" />').parent().insertAfter($('.Spot_B').parent());
        }
    }
});
$(“#结果a”).live('dblclick',函数(事件){
var src=$(this.attr(“href”);
如果(event.type=='dblclick'){
if($(this.hasClass(“.A”)){
$(''.parent().insertAfter($('.Spot_A').parent());
}else if($(this.hasClass(.B))){
$(''.parent().insertAfter($('.Spot_B').parent());
}
}
});
我双击一个link标记来创建一个img元素,该元素将链接的href用于图像的src,并根据link元素的类将该img放置在特定的位置。img元素创建部分工作完美。然而,我现在正试图根据link标记的类对各种img进行“排序”。这就是我遇到麻烦的地方。对我来说,它应该如何发展似乎非常明显,但它没有起作用

我想,它应该是简单的:当我双击一个链接时,如果这个(链接)有类u u,在这里创建一个img。如果是一个diff类,那么在这里创建一个img。请注意,链接在任何时候都不会被删除

.parent/insertafter/parent部分是必需的,因为它是确定层次结构中位置的一部分。Spot_A/B是开始点,这是排序的关键。

采用类的名称,而不是类选择器。删除句号

if ($(this).hasClass("A")) {
    // stuff
} else if ($(this).hasClass("B")) {
    // other stuff
}
对其进行全面清理处理:

$('#Results a').live('dblclick', function(event) {
    var $this = $(this),
        src = $this.attr('href'),
        target = $this.hasClass('A') ? '.Spot_A'
               : $this.hasClass('B') ? '.Spot_B'
               : null;

    if (target) {
        $(target).parent().after($('<div class="Packet"></div>').append($('<img />', {'src': src, 'class': 'Box'})));
    }
});
$(“#结果a”).live('dblclick',函数(事件){
变量$this=$(this),
src=$this.attr('href'),
target=$this.hasClass('A')?'.Spot_A'
:$this.hasClass('B')?'.Spot_B'
:null;
如果(目标){
$(目标).parent().after($('').append($('')
  • 不要重复包装
    ,将
    $(此)
    存储在局部变量中
  • 无需检查
    event.type==“dblclick”
  • 与单引号和双引号保持一致
  • 保持干燥
  • 这更多是个人偏好的问题,但是使用两组三元运算符可以更简洁地编写一个简单的
    if-else
    案例
  • 根据,可以包含其他元素的标记应与结束标记配对(使用
    $()
    创建新元素时)
  • 清理元素创建调用
采用类的名称,而不是类选择器。请删除句点

if ($(this).hasClass("A")) {
    // stuff
} else if ($(this).hasClass("B")) {
    // other stuff
}
对其进行全面清理处理:

$('#Results a').live('dblclick', function(event) {
    var $this = $(this),
        src = $this.attr('href'),
        target = $this.hasClass('A') ? '.Spot_A'
               : $this.hasClass('B') ? '.Spot_B'
               : null;

    if (target) {
        $(target).parent().after($('<div class="Packet"></div>').append($('<img />', {'src': src, 'class': 'Box'})));
    }
});
$(“#结果a”).live('dblclick',函数(事件){
变量$this=$(this),
src=$this.attr('href'),
target=$this.hasClass('A')?'.Spot_A'
:$this.hasClass('B')?'.Spot_B'
:null;
如果(目标){
$(目标).parent().after($('').append($('')
  • 不要重复包装
    ,将
    $(此)
    存储在局部变量中
  • 无需检查
    event.type==“dblclick”
  • 与单引号和双引号保持一致
  • 保持干燥
  • 这更多是个人偏好的问题,但是使用两组三元运算符可以更简洁地编写一个简单的
    if-else
    案例
  • 根据,可以包含其他元素的标记应与结束标记配对(使用
    $()
    创建新元素时)
  • 清理元素创建调用

为什么要检查
事件。键入
?!如果
现场A/B
是起点,为什么要对它们执行
parent()
?为什么要检查
事件。键入
?!如果
现场A/B
是起点,为什么要执行
parent()
关于它们?+1用于列表、编码和捕获。我唯一的遗憾是我只能给出一个+1来回答这个问题。哇!谢谢!我真的应该在这方面上一节课或做些什么,我只是通过这个论坛和其他网络来源学习。如果我还想检查href/src的目标位置是否存在任何重复项,怎么办?如果是,void?再次感谢,很有效完美。+1用于列表、编码和捕获。我唯一的遗憾是,我只能给出一个+1的答案。哇!谢谢!我真的应该在这方面上一节课或做些什么,我只是通过这个论坛和其他网络来源学习。如果我还想检查目标位置是否有任何href/src的副本,怎么办?如果是,void?再次感谢,效果很好.