gpt4 book ai didi

javascript - Jquery - 通过 id 在字符串中构造 id 获取元素

转载 作者:可可西里 更新时间:2023-11-01 01:37:59 25 4
gpt4 key购买 nike

我在使用带有 jquery 的元素时遇到了问题。我在 var 中构建名称,例如:

var myId = "#" + myGotId;

$(myId).attr("title", "changed");

$(myId) 返回空值。我想通过 id 获取我的元素,但构建我的 Id 动态连接字符串。

@Pointy 编辑 — OP 在评论中提供的附加代码:

var form = $('form#formDefaultValue');
$(':submit', form).click(function(event) {
event.preventDefault();
$.post(form.attr('action'), form.serialize(), function(data, status, XMLHttpRequest) {
if (status == 'success') {
$("#msgInformation").html("Your changes have been successfully saved.");
jQuery("#spanDefaultValue").attr("class", "db");
var g = indexNodeSelected;
g = g.replace("\\", "\\\\\\\\");
$('#'+ g).find("span").attr("class", "");
}

最佳答案

我不知道到底发生了什么,因为您没有发布太多代码,但请确保您的 Javascript 代码正在运行 after 具有您的目标“id”值的元素已包含在的DOM。如果你有这个:

<html>
<head>
<script>
var myId = '#' + myGotId;
$(myId).whatever();

那么这将不起作用,因为在您的代码运行时不会看到实际页面。

相反,试试这个:

  <script>
$(function() {
var myId = '#' + myGotId;
// ...
});

确保您的“myGotId”字符串正是您期望的值(即编码到目标元素的“id”属性中的值)也很重要。

edit 如果您认为您正在正确构建“id”,那么您可以尝试将此作为替代方法:

$(document.getElementById(myGotId)).whatever()

换句话说,您可以通过传递给 $() 函数将一个普通的 DOM 元素“包装”在一个 jQuery 对象中。如果可行,那么问题可能是您的“id”值以某种方式混淆了选择器引擎。 “id”值是否包含“.”有机会吗?

关于javascript - Jquery - 通过 id 在字符串中构造 id 获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4325278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com