单击时修改元素

时间:2018-06-01 12:06:31

标签: javascript

如果这是一个基本问题,我提前道歉。我正在学习网络开发,并在我学习的过程中尝试创建东西。我的问题是,有没有一种方法来样式删除或以其他方式修改元素而不是根据ID找到它?我的想法是,我将创建一个列表。段落列出项目或任意数量的元素。它们都将以相同的方式创建并以各种方式匹配,除了内部HTML对于每个项目都是不同的。我知道通常只是getElementById或其他东西很容易,但在这种情况下它们都是一样的。任何想法都会很棒。我已经尝试过在我所知道的范围内研究任何这样做的方式,所以你可以提供的任何链接可能会教我一些知道帮助的事情会很棒。

2 个答案:

答案 0 :(得分:1)

您的问题是“点击时修改”,这会引导我朝着这个方向前进。如果最终没有帮助,请重新说明。

最简单的方法是,在创建这些<p>元素时,添加额外的onClick属性。

<p onClick="DeleteMe(this)">

以后

function DeleteMe(oElement)
{
    oElement.parentNode.removeChild(oElement);
}

我使用'delete'作为示例,但您可以单击元素调用函数,并将this作为参数传递以引用元素本身。

答案 1 :(得分:0)

如果我理解正确,这可以帮助你。

假设你在未排序的列表中有不同数量的元素

<li class="similiarElements">Some Text</li>

它们仅通过显示的文字彼此不同。

现在您可以使用以下函数访问这些元素:

 $("body").on("click", ".similiarElements", function () {
        //do something
    });

这是使用JQuery,所以如果你不熟悉这个。您可能想查看他们的文档here

现在使用$(this)选择器,您可以访问您单击的元素。并且只会操纵该特定元素。

$("body").on("click", ".similiarElements", function () {
        $(this).remove(); //removes Element
    });

这样你几乎可以以任何你想要的方式操纵该元素。 还有两个例子:

$(this).css('color', 'red'); //changes text color to red
$(this).text("New Value"); //changes displayed text

您可以在此处尝试上述示例:JSFiddle