Hướng dẫn html pass object to javascript function - html chuyển đối tượng sang hàm javascript

Tôi muốn chuyển một đối tượng làm tham số cho hàm onclick bên trong một chuỗi. Một cái gì đó như follwing:

function myfunction(obj,parentobj){ 
   var o=document.createElement("div");
   o.innerHTML='';
   parentobj.appendChild(o.firstChild);
}

Rõ ràng, điều này không hoạt động. Bất cứ ai có bất kỳ ý tưởng? CÁM ƠN!

Một phiên bản hoàn chỉnh hơn, theo đề xuất của @austin





test

Hỏi ngày 24 tháng 8 năm 2012 lúc 12:55Aug 24, 2012 at 12:55

Hướng dẫn html pass object to javascript function - html chuyển đối tượng sang hàm javascript

ElizabethelizabethElizabeth

4511 Huy hiệu vàng4 Huy hiệu bạc9 Huy hiệu đồng1 gold badge4 silver badges9 bronze badges

7

Ví dụ trên không hoạt động vì đầu ra của obj thành văn bản là





test

0, vì vậy về cơ bản, bạn đang gọi




test

1.

Trong khi bạn có thể hiện của phần tử trong





test

2, liên kết với nó nhấp vào bằng JavaScript:

function myfunction(obj,parentobj){ 
    var o=document.createElement("div");
    o.innerHTML='';

    o.onClick = function () {
        someListener(obj)
    }

    parentobj.appendChild(o.firstChild);
}

Tôi đã tạo ra một câu đố làm việc cho bạn ở đây: jsfiddle

Đã trả lời ngày 24 tháng 8 năm 2012 lúc 12:56Aug 24, 2012 at 12:56

AustinaustinAustin

6,0062 Huy hiệu vàng23 Huy hiệu bạc24 Huy hiệu đồng2 gold badges23 silver badges24 bronze badges

0

function myfunction(obj,parentobj){ 
        var o=document.createElement("div");
         o.innerHTML=""; 
                                  parentobj.appendChild(o.firstChild);
            } 
    // my similar problem, function a was called in a jsonArray loop in the dataTable initiation
    function a(data, type, obj) {
                         var str = "";
                         str += "";
                         str +="[选择]";
                         str += "";
                         return str;
                                            }
function chooseData1(data){
                        console.log(data);
                  }

Đã trả lời ngày 20 tháng 12 năm 2017 lúc 8:32Dec 20, 2017 at 8:32

Hướng dẫn html pass object to javascript function - html chuyển đối tượng sang hàm javascript

2

Câu hỏi cũ mà tôi không hiểu, nhưng giải pháp đơn giản nhất là kết hợp các chức năng





test

3 và




test

4, nghĩa là bạn xâu chuỗi đối tượng và sau đó thoát khỏi các ký tự đặc biệt đó, sau đó đảo ngược quá trình bên trong hàm

var htmlStr = ``

function myFunction(obj) {
  obj = JSON.parse(decodeURIComponent(obj))
  // do something with obj
}

Kiểm tra ở đây:

var obj = {a: 'hey there', b: 1}

var htmlStr = ``

$('#mydiv').append(htmlStr)

function myFunctions(obj) {
  obj = JSON.parse(decodeURIComponent(obj))
  console.log(obj.a)
  console.log(obj.b)
}

Đã trả lời ngày 22 tháng 3 năm 2021 lúc 11:57Mar 22, 2021 at 11:57

1

Chỉ cần xâu chuỗi đối tượng bằng json.strigify (obj) và chuyển vào hàm onclick dưới dạng tham số và nó sẽ được phân tích trực tiếp và nhận được trong hàm dưới dạng đối tượng.

function myfunction(obj,parentobj){ 
   var o=document.createElement("div");
   var stringifiedObj = JSON.stringfy(obj)

   o.innerHTML='';
   parentobj.appendChild(o);
}

function somelistener(obj){
   console.log(typeof obj) //Object
}

Đã trả lời ngày 14 tháng 2 năm 2021 lúc 18:03Feb 14, 2021 at 18:03

Hướng dẫn html pass object to javascript function - html chuyển đối tượng sang hàm javascript

Chỉ cần vượt qua nó như thế này:

o.innerHTML='';

Đã trả lời ngày 18 tháng 11 năm 2013 lúc 6:08Nov 18, 2013 at 6:08

Hướng dẫn html pass object to javascript function - html chuyển đối tượng sang hàm javascript

1

Bạn có thể chuyển một đối tượng cho một hàm trong JavaScript không?

Chúng ta có thể chuyển một đối tượng cho hàm JavaScript, nhưng các đối số phải có cùng tên với tên thuộc tính đối tượng., but the arguments must have the same names as the Object property names.

Làm thế nào các đối tượng được truyền trong JavaScript?

Các đối tượng được truyền bằng tham chiếu trong JavaScript, tham chiếu đối tượng là các giá trị.Bởi vì điều này, các đối tượng sẽ hoạt động giống như chúng được thông qua bởi tham chiếu: nếu một hàm thay đổi thuộc tính đối tượng, nó sẽ thay đổi giá trị ban đầu.by Reference In JavaScript, object references are values. Because of this, objects will behave like they are passed by reference: If a function changes an object property, it changes the original value.

Các đối tượng được truyền qua tham chiếu trong JavaScript?

Trong các đối tượng và mảng JavaScript được truyền qua tham chiếu.objects and arrays are passed by reference.

JavaScript có truyền đối tượng theo giá trị không?

JavaScript luôn vượt qua giá trị để thay đổi giá trị của biến không bao giờ thay đổi nguyên thủy cơ bản (chuỗi hoặc số).Tuy nhiên, khi một biến đề cập đến một đối tượng bao gồm mảng, giá trị là tham chiếu đến đối tượng. so changing the value of the variable never changes the underlying primitive (String or number). However, when a variable refers to an object which includes array, the value is the reference to the object.