[英]From inside iframe want to get all iframe class name (each Iframe has a different class name)
[英]Get element class name inside of iframe by click on it
简要地说,我有一个iframe
,它从本地HTML页面加载,并希望by click on them
来访问该页面的元素,例如all type of inputs
, dropdown list
, table
等。
这是iframe标记内的HTML代码:
<!DOCTYPE html>
<html id="bootbody">
<head>
<title>test2</title>
<link href='bootstrap.min.css' type='text/css' rel='stylesheet' />
<style>
@media only screen and (max-width: 767px) and (min-width: 0) {
.panel {
height: auto !important;
}
}
</style>
</head>
<body >
<div id="testttt" class='container text-right'>
<div class='row'>
<div class='panel panel-default pull-right col-xs-12 col-sm-12' style='height:605px' id='16'>
<div class='panel-heading text-right row'>گروه 1</div>
<div class='panel-body'>
<div class='row'>
<div class='col-xs-12 pull-right col-sm-6' style='height:px' id='G1'>
<div class='row'>
<div class='panel panel-default pull-right col-xs-12 col-sm-12' style='height:200px' id='12'>
<div class='panel-heading text-right row'>گروه 2</div>
<div class='panel-body'>
<div class='row'>
<div class='col-xs-12 pull-right col-sm-12' style='height:px' id='G1'>
<div class='row'>
<div class='col-xs-12 col-sm-6 pull-right text-right'>
<div class='row'>
<div class='col-xs-12 col-sm-6 pull-right'><span>تکست 1</span></div>
<div class='col-xs-12 col-sm-6'><input id='layout2' type='text' class='form-control form-control-sm' /></div>
</div>
</div>
<div class='col-xs-12 col-sm-6 pull-right text-right'>
<div class='row'>
<div class='col-xs-12 col-sm-6 pull-right'><span>عنوان</span></div>
<div class='col-xs-12 col-sm-6'><input id='layout17' type='text' class='form-control form-control-sm' /></div>
</div>
</div>
</div>
</div>
<div class='col-xs-12 col-sm-12 pull-right text-right'>
<div class='row'>
<div class='col-xs-12 col-sm-6 pull-right'><span>تکست 2</span></div>
<div class='col-xs-12 col-sm-6'><input id='layout3' class='form-control form-control-sm' type='text' /></div>
</div>
</div>
</div>
</div>
</div>
<div class='panel panel-default pull-right col-xs-12 col-sm-12' style='height:200px' id='13'>
<div class='panel-heading text-right row'>گروه 3</div>
<div class='panel-body'>
<div class='row'>
<div class='col-xs-12 col-sm-12 pull-right text-right'><span>چک باکس 1</span><input id='layout7' type='checkbox'></input></div>
<div class='col-xs-12 col-sm-12 pull-right text-right'><span>چک باکس 2</span><input id='layout8' type='checkbox'></input></div>
</div>
</div>
</div>
</div>
</div>
<div class='col-xs-12 pull-right col-sm-6' style='height:NaNpx' id='G1'>
<div class='row'>
<div class='panel panel-default pull-right col-xs-12 col-sm-12' style='height:200px' id='3'>
<div class='panel-heading text-right row'>گروه</div>
<div class='panel-body'>
<div class='row'>
<div class='col-xs-12 col-sm-12'>
<div class='row'>
<div class='col-xs-12 col-sm-6 pull-right'><span>کومبو1</span></div>
<div class='col-xs-12 col-sm-6'><select id='layout11' class='form-control form-control-sm'></select></div>
</div>
</div>
<div class='col-xs-12 col-sm-12'><button style='height:30px;width:150px' id='btnUpdate_2' class='btn btn-default text-center'>ذخیره 2</button></div>
</div>
</div>
</div>
<div class='col-xs-12 col-sm-12 pull-right text-right'>
<div class='row'>
<div class='col-xs-12 col-sm-6 pull-right'><span>تکست 3</span></div>
<div class='col-xs-12 col-sm-6'><input id='layout12' class='form-control form-control-sm' type='text' /></div>
</div>
</div>
<div class='col-xs-12 col-sm-12'><button style='height:30px;width:150px' id='btnUpdate_1' class='btn btn-default text-center'>ذخیره 1</button></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
然后将其加载到asp.net网络表单中:
<div id="frameWrapper">
<iframe id="frame" src="../HtmlHolder/TEST2.html">[ممکن است بدلیل تنظیمات پیکر بندی مرورگرتان ،قادر به مشاهده ی نمایشگر موبایل نباشید.لطفا مرورگر خود را تغییر دهید.]
</iframe>
</div>
这是访问iframe内元素的脚本代码:
<script>
$(document).ready(function () {
var frm = $("#frame").get(0);
var doc = (frm.contentDocument ? frm.contentDocument : frm.contentWindow.document);//here is your document object
var bdy = doc.body;
alert(bdy);
});
</script>
我使用上面的代码找到iframe主体,但是无法访问它的元素...
我用谷歌搜索,但发现其他东西,如find element by class name
或查找不适合我的specific element
。 我该怎么做? 非常感谢。
NOTE: I read an HTML code from DB and then upload it into a folder on my host and then view it in ifram tag.
尝试这个
jQuery(jQuery('[id="frame"]')[0].contentWindow.document.body).on('click', '*', function() {
console.log("triggered !!");
console.log(this.className); // class of element clicked
});
您可以尝试这种方式。
$(document).ready(function () {
var frm = $("#frame").get(0);
var doc = (frm.contentDocument ? frm.contentDocument : frm.contentWindow.document); //here is your document object
var bdy = doc.body;
$(bdy).on("click", "*", function (e) {
console.log($(e.target).attr("class"));//To get class name
});
});
如果有人在使用这些解决方案时遇到问题,我可以使其与John R解决方案一起使用,但不必使用$(document).ready,我必须听听iframe的负载。
像这样:
$("#frame").on('load', function(){
var frm = $("#frame").get(0);
var doc = (frm.contentDocument ? frm.contentDocument : frm.contentWindow.document); //here is your document object
var bdy = doc.body;
$(bdy).on("click", "*", function (e) {
console.log($(e.target).attr("class"));//To get class name
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.