Javascript Jquery-替换HTML中的特定行

Javascript Jquery-替换HTML中的特定行,javascript,jquery,iframe,Javascript,Jquery,Iframe,我对iFrame和ID有问题 我目前有一个Iframe,没有附加ID,因为它是由另一个网站javascript生成的。所以,我很快编写了一个Jquery脚本,在页面加载时为iFrame提供ID,它成功地工作了。但问题是,它将ID应用于页面上的所有iFrame,而不是我想要的那个 这就是我所拥有的 <script> $(document).ready(function () { $("iframe").attr({ id: "iframeid1" }); });</scr

我对iFrame和ID有问题

我目前有一个Iframe,没有附加ID,因为它是由另一个网站javascript生成的。所以,我很快编写了一个Jquery脚本,在页面加载时为iFrame提供ID,它成功地工作了。但问题是,它将ID应用于页面上的所有iFrame,而不是我想要的那个

这就是我所拥有的

<script>
 $(document).ready(function () {
$("iframe").attr({ 
  id: "iframeid1"
});
});</script>
是否有Jquery的方法来“搜索并替换”页面上特定的内容?比如说

搜索:

替换为:


感谢您的帮助!提前谢谢

您可以使用选择器查找具有特定属性的iframe标记。但是,您需要能够从属性值而不是HTML搜索中唯一地标识所需的特定iframe

例如:

$('iframe[width="160"][height="600"]').attr("id", "iframeid1");
这将选择宽度为160、高度为600的iframe标记。如果需要,您可以添加更多属性以唯一地选择特定的iframe


也许最好的选择是在iframe周围使用DOM结构来确定您想要哪个。您可以使用父对象标识符、标记的顺序等。。任何有助于唯一标识所需的标记。

您可以使用选择器查找具有特定属性的iframe标记。但是,您需要能够从属性值而不是HTML搜索中唯一地标识所需的特定iframe

例如:

$('iframe[width="160"][height="600"]').attr("id", "iframeid1");
这将选择宽度为160、高度为600的iframe标记。如果需要,您可以添加更多属性以唯一地选择特定的iframe

也许最好的选择是在iframe周围使用DOM结构来确定您想要哪个。您可以使用父对象标识符、标记的顺序等。。任何有助于唯一标识所需内容的内容。

如果您知道它是页面上的第n个iframe:

$("iframe")[n].setAttribute('id', 'iframe1');
编辑:也可以使用属性选择器:

$("iframe[allowtransparency=true][frameborder=no][etc=etc]").attr({id: 'iframe1'});
如果您知道这是页面上的第n个iframe:

$("iframe")[n].setAttribute('id', 'iframe1');
编辑:也可以使用属性选择器:

$("iframe[allowtransparency=true][frameborder=no][etc=etc]").attr({id: 'iframe1'});

这取决于是否有找到所需iframe的独特方法。例如,它是唯一一个宽度为160,高度为600的吗?或者它总是页面上的第X个iframe?它是否总是位于页面中的同一位置

以下是所有3种方案的一些查询示例:

// if the width/height combination is unique...
var iframe = $('iframe[width=160][height=600]');

// if it is always, say, the 3rd iframe on the page
var iframe = $('iframe:eq(2)'); // 0-based index

// if it is always the only iframe in a div with an id of "iframeContainer"...
var iframe = $('#iframeContainer').find('iframe');
然后您可以像您所说的那样设置属性:

iframe.attr('id', 'iframeid1');

这取决于是否有找到所需iframe的独特方法。例如,它是唯一一个宽度为160,高度为600的吗?或者它总是页面上的第X个iframe?它是否总是位于页面中的同一位置

以下是所有3种方案的一些查询示例:

// if the width/height combination is unique...
var iframe = $('iframe[width=160][height=600]');

// if it is always, say, the 3rd iframe on the page
var iframe = $('iframe:eq(2)'); // 0-based index

// if it is always the only iframe in a div with an id of "iframeContainer"...
var iframe = $('#iframeContainer').find('iframe');
然后您可以像您所说的那样设置属性:

iframe.attr('id', 'iframeid1');

如果iframe被包装在一个带有ID的div中,那么您可以执行以下操作:

<script>
 $(document).ready(function () {
$("#divID iframe").attr({ 
  id: "iframeid1"
});
});</script>

如果iframe被包装在一个带有ID的div中,那么您可以执行以下操作:

<script>
 $(document).ready(function () {
$("#divID iframe").attr({ 
  id: "iframeid1"
});
});</script>

如果你知道iframe在哪里,你可以通过索引位置得到它

如果页面上有4个iFrame,并且正在查找与DOM相关的第三个iFrame,则可以执行以下操作:

$("iframe").get(3).attr({ 
  id: "iframeid1"
});

如果你知道iframe在哪里,你可以通过索引位置得到它

如果页面上有4个iFrame,并且正在查找与DOM相关的第三个iFrame,则可以执行以下操作:

$("iframe").get(3).attr({ 
  id: "iframeid1"
});

需要有关iframe周围html标记的更多信息。iframe是否包裹在div中?如果你能在iframe周围发布html,那就太好了。你需要更多关于iframe周围html标记的信息吗。iframe是否包裹在div中?如果你能在iframe周围发布html,那就太好了。