我正在尝试在JavaScript中创建全局唯一标识符.我不确定所有浏览器上有哪些例程,"随机"和内置随机数生成器的种子等等.
GUID/UUID应至少为32个字符,并应保持在ASCII范围内,以避免传递它们时出现问题.
我正在尝试打印一个页面.在那个页面中,我给了一张表背景颜色.当我在chrome中查看打印预览时,它没有采用背景颜色属性...
所以我尝试了这个属性:
-webkit-print-color-adjust: exact;
Run Code Online (Sandbox Code Playgroud)
但仍然没有显示颜色.
.vendorListHeading {
background-color: #1a4567;
color: white;
-webkit-print-color-adjust: exact;
}
<div class="bs-docs-example" id="soTable" style="padding-top: 10px;">
<table class="table" style="margin-bottom: 0px;">
<thead>
<tr class="vendorListHeading" style="">
<th>Date</th>
<th>PO Number</th>
<th>Term</th>
<th>Tax</th>
<th>Quote Number</th>
<th>Status</th>
<th>Account Mgr</th>
<th>Shipping Method</th>
<th>Shipping Account</th>
<th style="width: 184px;">QA</th>
<th id="referenceSO">Reference</th>
<th id="referenceSO" style="width: 146px;">End-User Name</th>
<th id="referenceSO" style="width: 118px;">End-User's PO</th>
<th id="referenceSO" style="width: 148px;">Tracking Number</th>
</tr>
</thead>
<tbody>
<tr class="">
<td>22</td>
<td>20130000</td>
<td>Jim B.</td>
<td>22</td>
<td>510 xxx yyyy</td>
<td>zznn@abc.co</td>
<td>PDF</td>
<td>12/23/2012</td>
<td>Approved</td>
<td>PDF</td> …Run Code Online (Sandbox Code Playgroud) 在伪代码中,这就是我想要的.
var selector = $(this).cssSelectorAsString(); // Made up method...
// selector is now something like: "html>body>ul>li>img[3]"
var element = $(selector);
Run Code Online (Sandbox Code Playgroud)
原因是我需要将其传递给外部环境,其中字符串是我交换数据的唯一方式.然后,此外部环境需要发回结果以及要更新的元素.所以我需要能够为页面上的每个元素序列化一个唯一的CSS选择器.
我注意到jquery有一个selector方法,但它似乎不适用于此上下文.它仅在使用选择器创建对象时才有效.如果使用HTML节点对象创建对象,则它不起作用.
我想跟踪在HTML页面上单击的所有元素.我需要一个很好的方法来引用完全被点击的元素(所以我将能够在稍后重播相同的单独HTML页面上的点击).
有没有一个很好的方法来引用被点击的元素?
我可以为页面上的每个元素添加唯一的id和类名.但我认为必须有一个更合适的方式?
我将重播点击的HTML页面将是相同的.
有点精简(但更准确的信息是它的元素,也许可以收集)......
用于跟踪被点击的元素的代码
var arrayWithElements = new Array();
document.onclick = clickListener;
function clickListener(e) {
var clickedElement;
if(e == null) {
clickedElement = event.srcElement;
} else {
clickedElement = e.target;
}
arrayWithElements.push(clickedElement)
alert(arrayWithElements);
}
Run Code Online (Sandbox Code Playgroud)
将在相同的HTML页面上使用的代码
document.someHowGetTheElement().onclick();
Run Code Online (Sandbox Code Playgroud) 我试图在右键单击dom元素时提示正确的css选择器和xpath.我可以在右键单击显示一个菜单,但我阻止了获取css选择器和xpath值.代码的输入将是任何网站源代码(右键单击站点,查看源代码)或示例具有一些类名的html代码.我在这里引用了拉独特的css选择器
有关如何在右键单击任何dom元素上获取唯一css选择器和xpath的任何指针?
我的小提琴在这里
<h2>Copy paste source code</h2>
<textarea id="txtSrcCode"></textarea>
<input type="button" value="Load Page" id="btnLoadPage" />
<div id="divToBindSrcCode">
</div>
<ul class='custom-menu'>
<li data-action="first">First thing</li>
<li data-action="second">Second thing</li>
<li data-action="third">Third thing</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
Jquery代码
$('#btnLoadPage').click(function() {
$('#divToBindSrcCode').html($('#txtSrcCode').val()); // Laod dom on to the page
});
$(document).bind("contextmenu", function(event) {
// Avoid the real one
event.preventDefault();
// Show contextmenu
$(".custom-menu").finish().toggle(100).
// In the right position (the mouse)
css({
top: event.pageY + "px",
left: event.pageX + "px"
});
});
// If the document …Run Code Online (Sandbox Code Playgroud) 假设我有一个DOM元素,作为事件的参数,例如click.
$(document).click(function() {
myElement = $(this);
});
Run Code Online (Sandbox Code Playgroud)
我如何稍后检查myElement是否仍在DOM中?我不能使用.length或任何其他类似的东西,因为它此时仍然引用了已保存的元素和DOM的状态,对吧?