jQuery:如何确定单击了哪个标签?

我正在创建一个包含5行文本的表单,每个文本我允许用户选择是否希望文本居中,左对齐或右对齐。 我有一个列表元素为x5的未编号列表。

  • leftJustify Left
  • centerJustify Left
  • rightJustify Left
  • 5组

  • 项中的每一项指的是其各自的行。

    使用jQuery,我将如何确定用户选择的15个

  • 项中的哪一个,以便我可以将正确的理由作为post方法对应?

    在单击处理程序的回调中, this指的是单击的

  • 。 您可能希望仅为这些列表项添加一个类,或者将它们放在具有此类的div中,这将允许您将它们作为目标并将事件绑定到它们。 此外,请注意alt在这里无效,您可能正在寻找title

     $('li').click(function(){ var justify = $(this).attr('alt'); alert(justify); }); 

    您可能希望将隐藏字段设置为该值。 你可以这样做,例如,添加$('#hiddenJustify').val(justify)

    由于您有五组这些

  • ,您可能希望将它们分组在一个元素下。 例如:

     
    • ...
    • ...
    • ...

    然后,您可以使用以下代码进行设置:

     $(this).closest(".line-justify-group").find(".justify-value").val(justify); 

    然后,这些项目将发布到服务器。

            
    • leftJustify Left
    • centerJustify Left
    • rightJustify Left

    对于每个li或img或span标记,为其提供唯一的id属性。 与示例中的alt文本相同的值就足够了

    假设你有li或img或span标签的onclick事件,你可以将jquery这个对象传递给函数,然后获取alt属性。

     onclick="getJustification($(this));" 

    然后在getJustification中:

     getJustification(selectedObj) { if(selectedObj.attr('id') == 'left') ... // for each unique id } 

    注意:代码是在没有引用的情况下编写的。 希望它可以推动你朝着正确的方向发展。

    Interesting Posts